1可以使用"+"号完成操作
输出为:
[1, 2, 3, 8, 'google', 'com']
2.使用extend方法
、
输入相同
3使用切片
输出相同
PS:len(l1)代表要将l2插入l1中的位置
例如
输出为:
又如:
输出为:
总结:第一种方方法思路比较清晰,就是运算符的重载;第二种方法比较简洁,但会覆盖原始list;第三种方法功能比较强大,可以将一个列表插入另一个列表的任意位置
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(4, 5, 6);
List<Integer> list3 = Arrays.asList(7, 8, 9);
List<Integer> mergedList = Stream.of(list1, list2, list3).flatMap(Collection::stream).collect(Collectors.toList());
System.out.println(mergedList);// [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
其余干货
1、一个集合根据主键msisdn去重,得到一个新的集合
List<Card> newList = list.stream().collect(Collectors.collectingAndThen(
Collectors.toCollection(() ->new TreeSet<>(Comparator.comparing(Card::getMsisdn))),
ArrayList::new));
2、获取一个集合中,某个对象指定属性的集合
List<Long> msisdnList = kqCardList.stream().map(KqCard::getMsisdn).collect(Collectors.toList());
3、将一个long类型的集合转换为String类型的集合
List<String> msisdnStrList = msisdnList.stream().map(
展开全部
下面的例子讲了如何合并两62616964757a686964616fe78988e69d8331333365633930个java list, 用简单的方法,而不用自己去造轮子,循环list 去做,用如下建档方法:
import java.util.ArrayList;import java.util.List;public class JoinList {
public static void main(String[] args) {
List listA = new ArrayList(); listA.add("A");
List listB = new ArrayList(); listB.add("B");
List listFinal = new ArrayList
(); listFinal.addAll(listA); listFinal.addAll(listB);
//same result //List listFinal = new ArrayList
(listA); //listFinal.addAll(listB);
System.out.println("listA : " + listA); System.out.println("listB : " + listB); System.out.println("listFinal : " + listFinal);
}}
你可以看到结果如下:
listA : [A]listB : [B]listFinal : [A, B]
其实最关键的就是调用 list 的 addall 方法,apache 的 listUtil , 里面有个 union 方法,其实也是用的 addall 方法。
输出为:
[1, 2, 3, 8, 'google', 'com']
、
输入相同
输出相同
PS:len(l1)代表要将l2插入l1中的位置
例如
输出为:
又如:
输出为:
总结:第一种方方法思路比较清晰,就是运算符的重载;第二种方法比较简洁,但会覆盖原始list;第三种方法功能比较强大,可以将一个列表插入另一个列表的任意位置
两个一样的list 合并成一个list
@Override
public List<Map<String, Object>> hjlist() {
List<Map<String,Object>> hjzhxclist = sjMapper.hjzhxclist();
List<Map<String,Object>> hjzhswlist =sjMapper.hjzhswlist();
List<Map<String,Object>> list = ListUtil.merge(hjzhxclist,hjzhswlist);
return hjzhxclist;
}
@Override
public List<Map<String, Object>> cslist() {
List<Map<String,Object>> csgcclList=sjMapper.csgcclList();//85智慧工地
List<Map<String,Object>> csghzrList=sjMapper.csghzrList();//5规划与自然自然综合管理
List<Map<String,Object>> cstftcList=sjMapper.cstftcList();//25土方统筹规划管理
List<Map<String,Object>> cswyznList=sjMapper.cswyznList();//121物业智能巡查
List<Map<String,Object>> listOne = ListUtil.merge(csgcclList,csghzrList);
List<Map<String,Object>> listTwo = ListUtil.merge(listOne,cstftcList);
ListUtil.merge(listTwo,cswyznList);
System.out.print(listTwo.size());
return listTwo;
}
这里特别注意了 ListUtil.merge(listTwo,cswyznList); 合成了最后一个list 其实最后list 就是listTwo 这个。ListUtil.merge不会返回任何参数。