Java集合-ArrayList

具体其他方法可以参考官方API:

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

		@Test
		public void test1() {
		// ArrayList a = new ArrayList();//这种创建方式可以存放任何类型,字符串,整形等
		ArrayList<Integer> array = new ArrayList<Integer>();
		// 集合中添加元素
		array.add(11);
		array.add(22);
		array.add(33);
		array.add(44);
		// 移除集合中指定索引元素,返回移除的元素值
		Integer remove = (Integer) array.remove(0);
		System.out.println("移除:" + remove);

		// array.removeAll(array);//从此列表中删除指定集合中包含的所有元素
		// array.clear();//从此列表中删除所有元素
		ArrayList<Integer> clone = (ArrayList) array.clone();// 复制一个相同的集合
		clone.add(33333);

		boolean contains = clone.contains(33333);// 判断是否包含该元素返回true
		System.out.println(contains);
		System.out.println("索引:" + clone.indexOf(33333));// 返回此列表中第一次出现的指定元素的索引,如果此列表不包含该元素,则返回-1。

		System.out.println(clone.isEmpty());// 如果此列表不包含任何元素,则返回true。
		System.out.println("最后一次出现的索引:" + clone.lastIndexOf(33333));// 返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回-1。

		System.out.println("列表元素数:" + array.size());// 返回此列表的元素数
		array.set(0, 123);// 将指定索引的值替换

		List<Integer> subList = array.subList(1, 3);// 返回指定的fromIndex,包含的和toIndex独占的列表部分的视图
		System.out.println("---subList---");
		for (Integer s : subList) {
			System.out.println(s);
		}
		Object[] array2 = array.toArray();// 以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组。

		// 返回此列表中元素的列表迭代器(按正确顺序)
		System.out.println("----ListIterator----");
		ListIterator<Integer> listIterator = array.listIterator();
		// 添加元素
		for (int i = 0; i < 3; i++) {
			listIterator.add(i);
		}
		System.out.println("---反向遍历---");
		// 反向遍历起始位置应该是集合的最后一位,需要先定位到集合最后一位然后进行遍历
		ListIterator<Integer> listIterator2 = array.listIterator(array.size());
		while (listIterator2.hasPrevious()) {
			System.out.println(listIterator2.previous() + " ");
		}

		// 集合迭代器 以适当的顺序返回此列表中元素的迭代器。
		System.out.println("---Iterator---");
		Iterator<Integer> iterator = array.iterator();
		while (iterator.hasNext()) {// 判断是否有下一个元素
			System.out.println(iterator.next());
		}

		ArrayList<Person> person = new ArrayList<Person>();
		person.add(new Person("张三", 12));
		person.add(new Person("李四", 15));
		person.add(new Person("王五", 20));
		for (int i = 0; i < person.size(); i++) {
			System.out.print("姓名:" + person.get(i).getName());// get(i)只是拿到对象.getName才是对象的属性
			System.out.println(" 年龄:" + person.get(i).getAge());
		}

	}

ListIterator和Iterator区别:
1.Iterator在Set,List接口中都有定义,ListIterator只定义在List接口中
2.ListIterator可以向集合添加(add())数据
3.ListIterator可以通过hasPrevious(),previous()来对集合进行逆向遍历
4.ListIterator可以实现对象的修改
5.ListIterator可以通过previousIndex(),nextIndex()来定位索引位置

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值