package wqs.Review;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class ArrayListDemo {
/*
* Demand: 1:增删改查基本数据类型 2:增删改查自定义对象类型 3:自定义的对象重写hashcode和equals方法
*/
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add("abc");
al.add("acb");
al.add("bac");
al.add("bca");
al.add("cab");
al.add("cab");
ArrayList alcopy = new ArrayList<>();
alcopy.add("aa");
alcopy.add("bb");
alcopy.add("cc");
alcopy.addAll(1, al);
System.out.println("原始数据" + al);
System.out.println("全部添加" + alcopy);
/*
* //删除 Object index1 = al.remove(1);
* System.out.println("移除位置1的元素"+index1);
* System.out.println("移除后的集合"+al); alcopy.removeAll(al);
* System.out.println("从alcopy中删除al后"+alcopy);
*
* //改 alcopy.set(0, "wqs"); System.out.println(alcopy);
*
* //查 String str = (String) alcopy.get(alcopy.size()-1);
* System.out.println(str);
*/
// 使用迭代器来增删改查
ListIterator it = al.listIterator();
while (it.hasNext()) {
String next = (String) it.next();
if (next.equals("abc")) {
it.add("hxm");
// it.remove();
// it.set("wqs");
}
}
System.out.println(al);
System.out.println(al.hashCode());
/*
new Thread() {
public void run() {
for (int i = 0; i < 10; i++) {
al.add("thread0");
System.out.println(al);
}
}
}.start();
Runnable runnable = new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
al.remove(al.indexOf("thread0"));
System.out.println(al);
}
}
};
Thread t = new Thread(runnable);
t.start();
*/
}
}