List集合

package javaEE02;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class Test {
public static void main(String[] args) throws Exception {
// 默认的长度是 10 当长度为10的时候,增长因子数为0.5倍,向下取整
//判断是否可以加重复值
ArrayList arr=new ArrayList();
arr.add("a");
arr.add("a");
arr.add("a");
arr.add("a");
arr.add("a");
arr.add("a");
arr.add("a");
arr.add("b");
arr.add("c");
arr.add("d");
arr.add("e");
arr.add("f");
System.out.println(arr.size());

//下标输出方式
System.out.println("下标输出方式");
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i));
}

//foreach输出方式(>=jdk1.5)
//集合中的元素
System.out.println("foeach输出方式");
for(Object o:arr) {
System.out.println(o);
}
System.out.println("jdk1.8语法糖输出方式");
//jdk1.8的语法糖
arr.forEach(x->System.out.println(x));

//迭代器
System.out.println("迭代器输出方式");
Iterator it=arr.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
ArrayList brr=new ArrayList();
for(int i=0;i<20;i++) {
print(arr);
arr.add(i);
}
//ArrayList arr=new ArrayList(5);
arr.add("a");
arr.add("b");
arr.add("c");
arr.add("d");
arr.add("e");
//向下读取
System.out.println("-------下");
ListIterator list=arr.listIterator();
while(list.hasNext()) {
System.out.println(list.next());
}
//向上读取
System.out.println("-------上");
while(list.hasPrevious()) {
System.out.println(list.previous());
}
//栈 是一个车箱 最大容量为 3M
//堆 是一个火车 将内存中的零散的空间组成的一张链式表格
//实现自定义的栈 mystack
}

static void print(ArrayList arraylist) throws Exception{
Class c=arraylist.getClass();
Field elementData=c.getDeclaredField("elementData");
elementData.setAccessible(true);
Object[] object=(Object[])elementData.get(arraylist);
System.out.println(object.length);
}


}

原文地址:https://www.cnblogs.com/xmf3628/p/10889906.html