как использовать метод коллекций addall ()? - PullRequest
9 голосов
/ 16 июня 2010

Мне нужно использовать его для объединения двух упорядоченных списков объектов.

Ответы [ 3 ]

18 голосов
/ 16 июня 2010

Из API:

addAll(Collection<? extends E> c): добавляет все элементы в указанной коллекции в эту коллекцию (необязательная операция).

Вот пример использования List, который представляет собой упорядоченную коллекцию:

    List<Integer> nums1 = Arrays.asList(1,2,-1);
    List<Integer> nums2 = Arrays.asList(4,5,6);

    List<Integer> allNums = new ArrayList<Integer>();
    allNums.addAll(nums1);
    allNums.addAll(nums2);
    System.out.println(allNums);
    // prints "[1, 2, -1, 4, 5, 6]"

Вкл. int[] vs Integer[]

В то время как int автоматически устанавливается на Integer, int[] НЕ «autoboxable» для Integer[].

Таким образом, вы получаете следующие поведения:

    List<Integer> nums = Arrays.asList(1,2,3);
    int[] arr = { 1, 2, 3 };
    List<int[]> arrs = Arrays.asList(arr);

Похожие вопросы

3 голосов
/ 16 июня 2010
Collection all = new HashList();
all.addAll(list1);
all.addAll(list2);
1 голос
/ 14 октября 2015

Я кодирую какой-то андроид, и я обнаружил, что он очень короткий и удобный:

    card1 = (ImageView)findViewById(R.id.card1);
    card2 = (ImageView)findViewById(R.id.card2);
    card3 = (ImageView)findViewById(R.id.card3);
    card4 = (ImageView)findViewById(R.id.card4);
    card5 = (ImageView)findViewById(R.id.card5);

    card_list = new ArrayList<>();
    card_list.addAll(Arrays.asList(card1,card2,card3,card4,card5));

По сравнению с этим стандартным способом, который я использовал:

    card1 = (ImageView)findViewById(R.id.card1);
    card2 = (ImageView)findViewById(R.id.card2);
    card3 = (ImageView)findViewById(R.id.card3);
    card4 = (ImageView)findViewById(R.id.card4);
    card5 = (ImageView)findViewById(R.id.card5);

    card_list = new ArrayList<>();
    card_list.add(card1) ;
    card_list.add(card2) ;
    card_list.add(card3) ;
    card_list.add(card4) ;
    card_list.add(card5) ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...