Day05集合-List
作者:互联网
List
List子接口
- 特点:有序,有下标,元素可以重复
- 方法:
- void add(int index,Object o):在index位置插入元素o。
- boolean addAll(int index,Collection c):将一个集合中的元素添加到此集合中的index位置。
- Object get(int index):返回集合中指定index位置元素。
- List subList(in fromIndex,int toIndex):返回集合中fromIndex到toIndex中的所有元素。
List接口使用1
/*
List子接口使用1
特点:有序,有下标,可重复
*/
public class listDemo01 {
public static void main(String[] args) {
//创建List集合对象
//1.添加元素
List list = new ArrayList<>();
list.add("无籽西瓜");
list.add("夏黑葡萄");
list.add(0,"阳光玫瑰");
System.out.println(list);
//2.删除元素,清除元素
list.remove("阳光玫瑰");
// list.clear();
//3.遍历集合元素
//3.1for循环遍历
System.out.println("-------3.1for循环遍历--------");
for (int i = 0; i <list.size() ; i++) {
System.out.println(list.get(i));
}
//3.2增强for
System.out.println("-------3.2增强for--------");
for (Object ob:list
) {
System.out.println(ob);
}
//3.3iterator迭代器(继承Collection接口的方法)
System.out.println("-------3.3iterator迭代器--------");
Iterator it = list.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
//3.4使用列表迭代器ListIterator,可向前或向后遍历集合,含有增加,删除,修改方法
System.out.println("-------3.4使用列表迭代器ListIterator--------");
System.out.println("-------3.4.1从前向后遍历--------");
ListIterator lit = list.listIterator();
while (lit.hasNext()){
//遍历完成,引用指向最后一个元素,可以向前开始遍历
System.out.println(lit.nextIndex() + ":" + lit.next());
}
System.out.println("-------3.4.2从后向前遍历--------");
while (lit.hasPrevious()){
System.out.println(lit.previousIndex() + ":" + lit.previous());
}
//4.判断
System.out.println(list.isEmpty());
System.out.println(list.contains("无籽西瓜"));
//5.获取
System.out.println(list.indexOf("夏黑葡萄"));
}
}
//输出结果:
[阳光玫瑰, 无籽西瓜, 夏黑葡萄]
-------3.1for循环遍历--------
无籽西瓜
夏黑葡萄
-------3.2增强for--------
无籽西瓜
夏黑葡萄
-------3.3iterator迭代器--------
无籽西瓜
夏黑葡萄
-------3.4使用列表迭代器ListIterator--------
-------3.4.1从前向后遍历--------
0:无籽西瓜
1:夏黑葡萄
-------3.4.2从后向前遍历--------
1:夏黑葡萄
0:无籽西瓜
false
true
1
/*
List接口使用2
*/
public class listDemo02 {
public static void main(String[] args) {
//创建List对象
List list = new ArrayList();
//1.添加数字数据(基本数据类型--->add时自动装箱)
list.add(20);
list.add(30);
list.add(40);
list.add(50);
list.add(60);
list.add(70);
System.out.println(list);
//2.删除,remove删除的是下标,删除基本数据类型时需要将其转换为引用数据类型
list.remove(0);//下标
list.remove((Integer)20);//转换
list.remove(new Integer(70));
System.out.println(list);
//3.补充方法subList(截取元素,含头不含尾)
List subList = list.subList(1,3);
System.out.println(subList);
}
}
//输出结果:
[20, 30, 40, 50, 60, 70]
[30, 40, 50, 60]
[40, 50]
List实现类
-
ArrayList:
- 数组结构实现,查询快,增删慢
- jdk1.2,运行效率快,线程不安全
-
LinkedList:
- 链表结构实现,查询慢,增删快
-
Vector:
- 数组结构实现,查询快,增删慢
- jdk1.0,运行效率慢,线程安全
标签:index,List,元素,list,Day05,add,remove,集合 来源: https://www.cnblogs.com/workplace-blog/p/16628935.html