一)List集合:
一:List接口的特点:
- 有序的集合,存储元素和取出的元素的顺序一致的。
- 有索引,包含一些带索引的方法。
- 允许存储重复的元素
二:List接口中带索引的方法(特有)
- public void add(int index ,E element):将指定的元素,添加到该集合的指定位置上。
- public E get(int index):返回集合中指定位置的元素。
- public E remove (int index):移除列表中指定位置的元素,返回的是被移除的元素。
- public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回值是更新前的元素。
三:注意
- 操作索引的时候,一定要防止索引越界异常
二):List集合的常见实现类
1、ArrayList集合: List接口大小可变数组的实现。(查询快,增删慢。)此实现不是同步的(多线程问题)。
2、LinkedList集合: List接口的链表实现。此实现不是同步的。
java.util.LinkedList集合 implements List接口
特点:
①、底层是一个链表结构:查询慢,增删快。
②、里边包含了大量操作首尾元素的方法。
3、Vector集合: 可以实现可增长的对象数组。此实现是同步的。
三)代码展示
package com.Good;
//list集合
import java.util.ArrayList;
import java.util.List;
public class B_list {
public static void main(String[] args) {
List list=new ArrayList();
list.add(1);
list.add(2);
list.add("df");
list.add("df"); //list允许使用相同元素
System.out.println(list); //[1, 2, df, df]
System.out.println(list.get(1)); //2
//指定位置添加元素(慢)
list.add(0,"ddd");
System.out.println(list);//[ddd, 1, 2, df, df]
//addAll()方法可以添加一个集合
//查找数据
System.out.println(list.indexOf(2));//2
//删除元素
list.remove("df");
list.remove(1);
System.out.println("删除后"+list);//删除后[ddd, 2, df]
//修改元素
list.set(1, "wlz");
System.out.println("修改后"+list);//修改后[ddd, wlz, df]
//增强for循环遍历
for(Object obj:list){
System.out.println(obj);//ddd wlz df(隔行显示)
}
//普通for遍历
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));//ddd wlz df(隔行显示)
}
}
}