list中添加,获取,删除元素;
添加方法是:.add(e); 获取方法是:.get(index); 删除方法是:.remove(index); 按照索引删除; .remove(Object o); 按照元素内容删除;
Collection 集合上层接口
存储单个数据值,多个元素的集合
常用方法
遍历方式
foreach
迭代器Iterator
Map 多个元素的集合,每个元素由键值对组成
List 接口
有序可重复
新增 : 一些根据索引操作的方法
添加null元素
*/
public class Class001_List {
public static void main(String[] args) {
//List容器
/*
泛型: 规定集合存储数据的类型 | 规定数据的类型
表示 : <数据类型> 数据类型只能为引用数据类型
位置 : 定义在数据类型的后面
优点 : 帮助增强程序的稳定性与可读性
*/
List<String> list = new ArrayList();
//List<Integer> list2 = new ArrayList();
list.add(null);
list.add(null);
list.add("abc");
list.add("cde");
list.add("mnb");
System.out.println(list);
//新增方法
//void add(int index, E element) 将指定元素插入此列表中的指定位置(可选操作)。
list.add(1,"你好");
System.out.println(list);
//E get(int index) 返回此列表中指定位置的元素。
System.out.println(list.get(3));;
//int indexOf(Object o) 返回此列表中第一次出现的指定元素的索引,如果此列表不包含该元素,则返回-1。
//int lastIndexOf(Object o) 返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回-1。
System.out.println(list.lastIndexOf(null));
//static <E> List<E> of(E... elements) 返回包含任意数量元素的不可修改列表。
List<Integer> list1 = List.of(1,2,3,4,5);
System.out.println(list1);
//E remove(int index) 删除此列表中指定位置的元素(可选操作)。
System.out.println(list.remove(2));
System.out.println(list);
//E set(int index, E element) 用指定的元素替换此列表中指定位置的元素(可选操作)。
System.out.println(list.set(4,"nb"));
System.out.println(list);
//List<E> subList(int fromIndex, int toIndex) 返回指定的 fromIndex (包含)和 toIndex (不包括)之间的此列表部分的视图。
System.out.println(list.subList(1,3));
System.out.println(list);
//Object[] toArray()
System.out.println(Arrays.toString(list.toArray()));
}
去重复;
List<String> lst1=new ArrayList<>();
lst1.add("aa");
lst1.add("dd");
lst1.add("ss");
lst1.add("aa");
lst1.add("ss");
//方法 1.
for (int i = 0; i <lst1.size()-1; i++) {
for (int j = lst1.size()-1; j >i; j--) {
if (lst1.get(j).equals(lst1.get(i))) {
lst1.remove(j);
}
}
}
System.out.println(lst1);
//方法 2.
List<String> lst2=new ArrayList<>();
for (String s:lst1) {
if (Collections.frequency(lst2, s)<1) {
lst2.add(s);
}
}
System.out.println(lst2);