package com.itheima.demo01.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
java.util.List 接口 extends Collection接口
List接口特点:
1.有序的集合,存储元素和取出元素的顺序是一致的
2.有索引,包含一些索引的方法
3.允许存储重复元素
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):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
注意:
操作索引的时候,一定要防止索引越界异常
IndexOutOfBoundsException:索引越界异常一般集合会报
ArrayIndexOutOfBoundsException:数组索引越界异常
StringIndexOutOfBoundsException:字符串索引越界异常
*/
public class Demo01ArrayList {
public static void main(String[] args) {
//创建一个List集合对象,多态
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("a");
System.out.println(list);//[a, b, c, d, a]
//public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。
list.add(1, "itheima");
System.out.println(list);//[a, itheima, b, c, d, a]
//public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。
String removeE = list.remove(2);
System.out.println("被移除的元素" + list);//[a, itheima, c, d, a]
//public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
String setE = list.set(4, "A");
System.out.println(list);//[a, itheima, c, d, A]
//遍历集合的3中方法
for (int i = 0; i < list.size(); i++) {
}
//
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
//
for (String l : list) {
System.out.println(l);
}
}
}