package test;
import java.util.*;
import javax.security.auth.kerberos.KerberosKey;
import java.io.*;
import java.math.BigInteger;
public class Main {
private static final String space_operator = " ";
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(new BufferedInputStream(System.in));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
List list = new ArrayList();
//添加
list.add("avd1");
list.add("avd2");
list.add("avd3");
list.add("avd4");
list.add("avd5");
//在指定位置添加
list.add(1,"avd9");
System.out.println(list);
//删除
list.remove(1);
System.out.println(list);
//查看
System.out.println(list.get(1));
//设置
list.set(1, "ssd");
System.out.println(list);
//获取子序列
System.out.println(list.subList(1, 2));
//取出元素的方法
//迭代器方法 此迭代器方法不能进行集合操作
Iterator it = list.iterator();
while(it.hasNext())
{
Object obj = it.next();
if(obj == "avd3")
{
//list.add("dssd");
// 会出现错误java.util.ConcurrentModificationException
//在迭代器中不能用集合操作 反之亦然,因为这样容易出现并发错误
}
else {
System.out.println(obj);
}
}
for(int i = 0; i < list.size(); i ++)
{
System.out.println(list.get(i));
}
//迭代器取出元素list专有方法可以直接在迭代器进行改变元素
//从第一个元素开始
ListIterator it1 = list.listIterator();
//从任意元素开始
ListIterator it2 = list.listIterator(1);
//向后遍历迭代器
while(it1.hasNext())
{
Object obj = it1.next();
if(obj.equals("avd3"))
{
it1.add("avd7");
}
else {
System.out.println(obj);
}
}
System.out.println(list);
System.out.println(it1.hasNext());
System.out.println(it1.hasPrevious());
//向前遍历迭代器
while(it1.hasPrevious())
{
System.out.println(it1.previous());
}
}
}