我需要用它来合并两个有序的对象列表。
答案 0 :(得分:18)
来自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[]
不能“自动执行”到Integer[]
。
因此,您会得到以下行为:
List<Integer> nums = Arrays.asList(1,2,3);
int[] arr = { 1, 2, 3 };
List<int[]> arrs = Arrays.asList(arr);
答案 1 :(得分:3)
Collection all = new HashList();
all.addAll(list1);
all.addAll(list2);
答案 2 :(得分:1)
我正在编写一些android,我发现这非常短而且方便:
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) ;