/**
-
@Author: Ly
-
@Date: 2020-08-13 08:46
*/
public class ListFeatures {
public static void main(String[] args) {
List li = new ArrayList();
for(int i = 0; i < 10; i++)
li.add(i);
Integer h = 10;
li.add(h); //将指定的元素追加到此列表的末尾
li.add(1,0); //将指定的元素插入此列表中的指定位置
li.remove(0); //删除该列表中指定位置的元素
System.out.println(li);
System.out.println(li+"集合中含有:h "+li.contains(h));
li.set(0,10); //用指定的元素替换此列表中指定位置的元素
Integer p = li.get(0);//返回此列表中指定位置的元素
System.out.println(“数字”+p + “第一次出现位置的索引为:” + li.indexOf§); //打印此列表中指定元素的第一次出现的索引
li.remove§; //删除指定元素的第一次出现
System.out.println(li);
List sub = li.subList(1, 4);//用列表中第1到第4个(不包含第4个)元素创建新的集合
Boolean bl=li.containsAll(sub); //看列表是否包含指定集合的所有元素
System.out.println(“集合li中”+ (bl?“含有”:“不含有”) +“sub中的所有元素”);
List copy = new ArrayList(li);
copy.removeAll(sub); //从此列表中删除包含在指定集合中的所有元素
System.out.println(“copy集合:”+copy);
if(copy.size() > 1) //如果列表中的元素数大于1
copy.addAll(2, sub);//将指定集合中的所有元素插入到此列表中的指定位置
System.out.println(“copy集合:”+copy);
Object[] objects = li.toArray();//以正确的顺序返回一个包含此列表中所有元素的数组
for(Object o:objects){
System.out.print(o+", ");
}
System.out.println(li.isEmpty());//如果此列表不包含元素,则返回 true
li.clear();//从此列表中删除所有元素
System.out.println(li+":"+ li.isEmpty());
}
}
Output:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]集合中含有: h true
数字10第一次出现位置的索引为:0
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
集合li中含有sub中的所有元素
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
copy集合:[1, 5, 6, 7, 8, 9, 10]
copy集合:[1, 5, 2, 3, 4, 6, 7, 8, 9, 10]
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, false
[]:true
2. LinkedList: 它通过代价较低的在List中间插入和删除操作,提供了优化的顺序访问。LinkedList在随机访问方面相对比较慢,但是它的特性集较ArrayList更大。
例:
/**
-
@Author: Ly
-
@Date: 2020-08-13 12:24
*/
public class LinkedListFeatures {
public static void main(String[] args) {
LinkedList list = new LinkedList();
for (int i = 1; i < 10; i++) {
list.add(i);
}
System.out.print(list.getFirst()+" "); //返回此列表中的第一个元素,为空时抛出异常
System.out.print(list.element()+" "); //检索但不删除此列表的头,为空时抛出异常
System.out.print(list.peek()+" "); //检索但不删除此列表的头,为空时返回null
System.