Java集合专题(三):List集合详解

一、List集合的特点

1.1、 List集合类中元素是有序的(添加顺序和取出顺序一致)、且可重复

List list = new ArrayList();
list.add("jack");
list.add("tom");
list.add("mary");
list.add("jack");
System.out.println("List=" + list);

输出结果

List=[jack, tom, mary, jack]

2.2、 List集合中的每个元素都有对应的顺序索引、即支持索引。

3.3、 List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。

索引是从0开始的

List list = new ArrayList();
list.add("jack");
list.add("tom");
list.add("mary");
list.add("jack");
System.out.println("索引为2的元素=>"+list.get(2));
System.out.println("索引为3的元素=>"+list.get(3));

输出结果

索引为2的元素=>mary
索引为3的元素=>jack

二、 List集合中的方法

List list = new ArrayList();
list.add("张三丰");
list.add("贾宝玉");
  1. 在索引 index=1 的位置插入一个对象
//void add(int index, Object ele) 在 index 位置插入ele元素
list.add(1,"张麻子");
System.out.println("list=" + list);

输出结果

list=[张三丰, 张麻子, 贾宝玉]
  1. 从index位置开始将eles中所有的元素添加进来
//boolean addAll(int index, Collection eles); 
List list2 = new ArrayList();
list2.add("jack");
list2.add("tom");
list.addAll(1,list2);
System.out.println("list=" + list);

输出结果

list=[张三丰, jack, tom, 张麻子, 贾宝玉]
  1. 返回obj在集合中首次出现的位置
// int indexOf(Object obj):
System.out.println(list.indexOf("tom"));

输出结果

2
  1. 返回obj在集合中末次出现的位置
// int lastIndexOf(Object obj):
System.out.println(list.lastIndexOf("张麻子"));

输出结果

3
  1. 移除指定index位置的元素, 并返回该元素
// Object remove(int index):
System.out.println(list.remove(0));
System.out.println("list=" +list);

输出结果

张三丰
list=[jack, tom, 张麻子, 贾宝玉]
  1. 设置指定index位置的元素为ele, 相当于是替换,
//Object set(int index, Object ele): 
list.set(1,"玛丽");
System.out.println("list=" + list);

输出结果

list=[jack, 玛丽, 张麻子, 贾宝玉]
  1. 返回从fromIndex到toIndex位置的子集合
//List subList(int fromIndex, int toIndex):
//返回的子集合fromIndex <= subList < toIndex
System.out.println(list.subList(0, 2));//不包含2

输出结果

[jack, 玛丽]

List接口常用的三种遍历方式

1、 使用iterator遍历器

Iterator iterator = list.iterator();
while (iterator.hasNext()) {
    Object next = iterator.next();
    System.out.println(next);
}

输出结果

张三丰
jack
tom
张麻子
贾宝玉

2、 使用增强for循环

for (Object o : list) {
    System.out.println(o);
}

输出结果

张三丰
jack
tom
张麻子
贾宝玉

3、 使用普通for循环

for(int i = 0; i < list.size(); i++){
    System.out.println(list.get(i));
}

输出结果

张三丰
jack
tom
张麻子
贾宝玉

你可能感兴趣的:(java)