List集合的常用方法:
java.util.List接口 extends Collection接口
List接口的特点:
- 有序(存储元素顺序和取出元素顺序一致)
- 有索引(ArrayList底层的实现是数组:利于查找;LinkedList是链表,利于增删以及对头尾元素进行操作)
- .允许存储重复元素(这个不用记住了吧,只记住什么不准有重复元素就行了)
List接口中的特有方法(因为List带索引,所以他的特有方法都是与索引相关的方法):
- public void add(int index,E element):将元素添加到指定索引位置
- public E get(int index):获取指定索引处的元素
- public E set(int index,E element):将指定元素替换index位置处的元素并返回此位置之前的元素
- public E remove(int index):移除指定位置的元素并返回
注意:操作索引的时候要防止索引越界异常
例如:list.get(10);如果超出索引会出现索越界异常:IndexOutOfBoundsException
public static void main(String[] args){
List<String> list=new ArrayList<>();
list.add("rita");
list.add("love");
list.add("code");
System.out.println(list);//[rita,love,code]输出的不是地址说明重写了toString()方法
list.add(1,"amy");//public void add(int index,E element):
System.out.println(list);[rita,amy,love,code]
String removeE=list.remove(2);//public E remove(int index):
System.out.println("被移除的元素:"+removeE);//被移除的元素:amy
System.out.println(list);//[rita,love,code]
String setE=list.set(2,"music");
System.out.println("被替换的元素:"+setE);//被替换的元素:code
System.out.println(list);[rita,love,music]
String getE=list.get(0);
System.out,println("获取的元素:"+getE);//获取的元素:rita
}
List遍历集合的三种方式:
- 普通for循环
- 迭代器
- 增强for循环
public static void main(String[] args){
List<String> list=new ArrayList<>();
list.add("rita");
list.add("love");
list.add("code");
//1.普通for循环
for(int i=0;i<list.size();++i){
String s=list.get(i);
System.out.println(s);
}
//2.迭代器
Iterator<String> it=list.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}
//3.增强for循环
for(String s:list){
System.out.println(s);
}
}