ArrayList: 数组结构(50%延长),查询,修改数据方便,但是增删不便,线程不同步
List:特有方法
List:特有方法
增:
add(index,element);
addAll(index,Collection);
删:
remove(index);
改:
set(index,element);
查:
get(index);
subList(from,to);
ListIterator();
ListIterator li = arrayList . iterator();
li.add();
li.hasPrevious(); 是否有前一个元素
li.previous(); 读取前一个元素
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
//在指定位置添加元素
al.add(1,"hello");
sop(al);
//按索引移除对象
al.remove(2);
sop(al);
//按索引修改对象
al.set(2,"world");
sop(al);
//按索引获取对象
sop(al.get(1));
//通过indexOf获取对象位置
sop("index="+al.indexOf("java02"));
List sub = al.subList(1, 3);
sop("sub="+sub);
for(ListIterator it = al.listIterator() ; it.hasNext() ; )
{
Object obj = it . next() ;
if(obj.equals("java02"))
li.set("java008");
}
/* List集合比较元素是否相同,依据的是equals(); */
public class ArrayListTest {
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java01");
al.add("java03");
al.add("java02");
al.add("java03");
sop(al);
al = singleElement(al);
sop(al);
}
public static ArrayList singleElement(ArrayList al) {
ArrayList newAl = new ArrayList();
Iterator it = al.iterator();
while (it.hasNext()) {
Object obj = it.next();
if (!newAl.contains(obj)) {
newAl.add(obj);
}
}
return newAl;
}
public static void sop(Object obj) {
System.out.println(obj);
}
}