本文记录一些 java 中 List 数据的一些常用操作。
List list = new ArrayList(); // 不加泛型,里面可以添加任意类型的元素
// add:添加单个元素
list.add("jack");
list.add(10);//list.add(new Integer(10))
list.add(true);
List初始化
List.of()
该方法出现在 jdk 11。
List<String> ls = List.of("a", "c", "b");
ls.forEach(System.out::println);
添加元素
ans.add(i);
list.addAll(list2); // addAll:添加多个元素
删除/清空列表
list.remove(0); //删除第一个元素
list.remove(true); //指定删除某个元素
list.removeAll(list2); // removeAll: 删除多个元素
ans.clear(); // 清空列表
修改元素
ans.set(j, ans.get(j) + ans.get(j - 1));
只有 LinkedList 才有的:(ArrayList没有)
a.getLast();
a.removeLast();
查找list相关信息
list.indexOf("tom");
list.lastIndexOf("韩顺平");
list.contains("jack");
list.size();
list.isEmpty();
list.containsAll(list2); // containsAll:查找多个元素是否都存在
list转数组
只有当元素是引用类型时才可以操作。
ans.toArray(new String[ans.size()]);
这里的 ans.size() 也可以写成 0。
数组转List
最便捷:
List list = new ArrayList<>(Arrays.asList("a", "b", "c"))
推荐使用:(Java8 的 Stream
)
Integer [] myArray = { 1, 2, 3 };
List myList = Arrays.stream(myArray).collect(Collectors.toList());
//基本类型也可以实现转换(依赖boxed的装箱操作)
int [] myArray2 = { 1, 2, 3 };
List myList = Arrays.stream(myArray2).boxed().collect(Collectors.toList());
抽出List的一部分作为一个新的List
List returnlist = list.subList(0, 2); // 包括下标0,不包括下标2