ArrayList方法具体实现
对一些ArrayList方法做了具体实现的汇总
package com.qf04.List_class;
import java.util.*;
/**
* ArrayList方法训练
*/
public class Test01 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("柯南");
list.add("灰原哀");
list.add("怪盗基德");
list.add("步美");
int size = list.size();
System.out.println(size);
//依据下标设置、获取元素
list.set(2,"工藤新一");
String s = list.get(0);
System.out.println(s);
//在指定下标插入元素
list.add(1,"毛利兰");
ArrayList<String> newlist1 = new ArrayList<>();
Collections.addAll(newlist1,"aaa","bbb","ccc");
list.addAll(newlist1);//加到list末尾
ArrayList<String> newlist2 = new ArrayList<>();
Collections.addAll(newlist2,"喜洋洋","沸羊羊","懒羊羊");
list.addAll(2,newlist2);//加到指定下标处
//清空集合
// list.clear();
//判断是否存在该元素
boolean b = list.contains("柯南");
//返回下标
int index = list.indexOf("灰原哀");
boolean empty = list.isEmpty();//空为true
//依据下标删除
list.remove(2);
//依据内容删除
list.remove("工藤新一");
//删除交集
// list.removeAll(newlist2);
//保留交集
// list.retainAll(newlist1);
list.set(2,"fff");
//根据下标截取(左闭右开),返回截取的集合
List<String> subList = list.subList(0, 3);
//转数组
Object[] array = subList.toArray();
System.out.println(Arrays.toString(array));
//遍历输出
System.out.println("---------------");
ListIterator<String> listIterator = list.listIterator();
while(listIterator.hasNext()){
String e = listIterator.next();
System.out.println(e);
}
System.out.println("--------------");
for (int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println("--------------");
//foreach的底层实现也是迭代器
for (String element:list){
System.out.println(element);
}
//XJad反编译 .class文件 查看
// String element;
// for(Iterator<String> it = list.iterator();it.hasNext();System.out.println(e)){
// element = it.next();
// }
System.out.println("--------------");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String e = iterator.next();
System.out.println(e);
}
}
}
提示:多看API