ArrayList的输出方式以及因子增长数

1.Arraylist 默认长度是10 当长度为10的时候,增长因子数是原来长度的0.5倍并且是向下取整
ArrayList arr = new ArrayList();
arr.add(“a”);
arr.add(“b”);
arr.add(“c”);
arr.add(“d”);
arr.add(“e”);
arr.add(“f”);
arr.add(“g”);
arr.add(“h”);
System.out.println(arr.size());
System.out.println("--------------------下标输出方式");
//下标输出方式
for (int i = 0; i < arr.size(); i++) {
System.out.println(arr.get(i));
}

	 System.out.println("--------------------foreach输出(>=jdk1.5)");
	// //foreach输出(>=jdk1.5)
	// //集合中的元素
	 for (Object o : arr) {
	 System.out.println(o);
	 }
	
	 System.out.println("--------------------jdk1.8的语法糖");
	// //jdk1.8的语法糖
	 arr.forEach(a->System.out.println(a));
	
	 System.out.println("--------------------迭代器");
	// //迭代器
	 Iterator it = arr.iterator();
	 while(it.hasNext()) {
	 System.out.println(it.next());
	 }

	 ArrayList arr = new ArrayList(5);
	 for (int i = 0; i < 30; 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");
	ListIterator list = arr.listIterator();
	System.out.println("--------------------下");
	//向下读取
	while(list.hasNext()) {
	System.out.println(list.next());
	}

	System.out.println("--------------------上");
	//向上读取
	while(list.hasPrevious()) {
	System.out.println(list.previous());
	}
	}

2.List反射查看
查看List源代码,ArrayList源代码
使用反射查看属性:
static void print(List arrayList) throws Exception {
Class c = arrayList.getClass();
Field elementDataField = c.getDeclaredField(“elementData”);
elementDataField.setAccessible(true);
Object[] arr = (Object[]) elementDataField.get(arrayList);
System.out.println(“elementData.length=” + arr.length);
}

3.List内的值删除
/* 逆向循环遍历删除 /
for(int n=list.size()-1;n>=0;n–) {
list.remove(n);
}
/
迭代器删除 */
Iterator lis=list.iterator();
while(lis.hasNext()) {
lis.next();//移动到下下个
lis.remove();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值