package cn.learn.collection.List;
import com.sun.source.tree.NewArrayTree;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
java.util.List接口 extends Collection接口
1.有索引,含有带索引的相关方法
public void add(int index,E element) -向指定位置添加元素,其余元素向后移动
public E get(int index) -返回指定位置的元素
public E remove(int index) -移除元素,并返回
public E set(int index,E element) -替换元素,返回更新前的元素
2.元素可重复
*/
public class ListApi {
public static void main(String[] args) {
//是接口不能直接new,指定类型为String,多态
List<String> list = new ArrayList<>();
//add方法
list.add("asd");
list.add("ad");
list.add("d");
list.add(2,"s");
System.out.println(list); //[asd,ad,s,d]
//get方法
System.out.println(list.get(2)); //s
//remove方法,返回索引值所在的数据
System.out.println(list.remove(2)); //s
//set,替换元素,返回替换前的元素数据
System.out.println(list.set(2,"dd")); //d
//List遍历的三种方式
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//增强for循环遍历
for (String str:list) {//该句和下面迭代器for循环等效
System.out.println(str);
}
//Iterator迭代器遍历
for (Iterator list01=list.iterator(); list01.hasNext();list01.next());
}
}