list集合

本文详细介绍了Java集合框架中的List接口,作为Collection的子接口,List是一个有序且可重复的集合。文章通过示例代码展示了List的基本操作,如add、remove、contains、get等方法的使用,并探讨了addAll、subList等核心方法。同时,文中强调了泛型在集合操作中的重要性,以及不同类型的集合进行操作时的限制。
摘要由CSDN通过智能技术生成

List也是一个接口,继承了Conllection。是Conllection的一个子接口。

List接口大概的一个结构体系是这样子的

通过源码注释所得: list是一个有序,可重复的集合。

LIst只是一个接口,都是需要子类来实现的,没什么好讲的。具体看子类实现吧

List list = new ArrayList();

// 往集合添加一个元素
list.add(0);

// 往集合指定位置添加一个元素
list.add(0,1);
System.out.println(list);  // [1, 0]

List list1 = new ArrayList();
list1.add("2");
// 往集合里添加一个集合
list.addAll(list1);
System.out.println(list);  // [1, 0, 2]

List list2 = new ArrayList();
list2.add("3");
// 往集合指定位置添加一个集合
list.addAll(0,list2);
System.out.println(list);  // [3, 1, 0, 2]

// 这里注意一下,当指定了集合的泛型之后,只能同类型对象的集合使用addAll(),否则在编译时期就会报错
List<String> listStr = new ArrayList();
ArrayList<String> listStr1 = new ArrayList();
List<Integer> listInt = new ArrayList();
ArrayList<Integer> listInt1 = new ArrayList();

listStr.addAll(listInt);  // ×
listStr.addAll(listStr1);  // √

// ===核心方法 size()
  // 获取集合的长度
  int size = list.size();
System.out.println(size);  // 4

// ===核心方法 isEmpty()
// 判断集合是否为空
boolean empty = list.isEmpty();
System.out.println(empty);  // false
List list3 = new ArrayList();
boolean empty1 = list3.isEmpty();
System.out.println(empty1);  // true

// ===核心方法 contains()
// 判断集合是否包含某个元素(对数据类型有要求)
boolean contains = list.contains(0);
System.out.println(contains); // false
boolean contains1 = list.contains("0");
System.out.println(contains1); // true

// ===核心方法 get()
// 获取指定位置的元素
Object o = list.get(0);
System.out.println(o.toString());  // 3

// ===核心方法 remove()  removeAll()  retainAll()
// 移除指定位置的元素
list.remove(3);
System.out.println(list);	// [3, 1, 0]
// 移除指定的元素
list.remove("3");
System.out.println(list);  // [1, 0]
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.println(list);

List list4 = new ArrayList(); // [1, 0, 2, 3, 4, 5]
list4.add(3);
list4.add(5);
// 移除指定集合里的所有元素
list.removeAll(list4);
System.out.println(list); // [1, 0, 2, 4] 

List list5 = new ArrayList();
list5.add(1);
list5.add(2);
// 移除集合里除了指定集合外的所有元素
list.retainAll(list5);
System.out.println(list);	// [1, 2]

// ===核心方法 subList()
list.add(3);
list.add(2);
list.add(5);
list.add(4);
System.out.println(list);   // [1, 2, 3, 2, 5, 4]
// 截取集合里指定位置的元素
List list6 = list.subList(2, 4);
System.out.println(list6); // [3, 2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值