ArrayList集合的常用方法与演示

1、add方法
一种是直接add对象,把对象加入最后面,一种是在指定位置加入

private static void addTest() {
//		创建一个集合,可以存放User类型
		List<User> soldiers=new ArrayList<User>();
//		循环往集合中插入对象
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers);
//		向指定位置添加对象
		soldiers.add(2, new User("军官"));
		System.out.println(soldiers);
	}

2、判断是否存在
使用contains判断是否包含
判断的标准:是否是同一个对象,而不是对象的值是否相同

private static void isContains() {
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
//		判断值相同的对象,结果是false
		System.out.println(soldiers.contains(new User("士兵 2")));
		User user =new User("士兵 1");
		soldiers.add(user);
//		判断同一个对象,结果是true
		System.out.println(soldiers.contains(user));
		
	}

3、获取指定位置的元素
通过get获取指定位置的对象,如果输入的下标越界,一样会报错

  private static void getTest() {
		// TODO Auto-generated method stub
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers.get(0));
	}

4、获取元素所处位置
使用indexOf获取对象的位置
判断标准:与contains一样,判断对象是否相同,而不是对象值相同

private static void indexOfTest() {
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers.indexOf(new User("士兵 2")));  //-1
		User user =new User("将军");
		soldiers.add(user);
		System.out.println(soldiers.indexOf(user));  //5
	}

5、删除集合中的对象
使用remove删除对象,入参可以是下标,也可以是对象

private static void removeTest() {
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers);
//		使用下标删除集合第二个位置的对象
		System.out.println(soldiers.remove(1));
		System.out.println(soldiers);
		User officer =new User("军官");
		User general =new User("将军");
		soldiers.add(officer);
		soldiers.add(general);
		System.out.println(soldiers);
//		用入参对象的方式,删除值为将军的对象
		System.out.println(soldiers.remove(general));
		System.out.println(soldiers);

	}

6、替换集合中的元素
使用set方法替换集合中的元素

private static void setTest() {
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers);
		User user=new User("士官");
//		替换集合下标为4的对象
		soldiers.set(4, user);
		System.out.println(soldiers);
	}

7、获取大小
size用户获取ArrayList大小

private static void sizeTest() {
		// TODO Auto-generated method stub
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers.size());
	}

8、将集合转化为数组
使用toArray可以把ArrayList对象转化为数组,需要注意的是,如果要转换为一个User数组,那么需要传递一个User数组类型的对象给toArray(),这样toArray方法才知道,你希望转换为哪种类型的数组,否则只能转换为Object数组

  private static void toArrayTest() {
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers);
		User user[]=soldiers.toArray(new User[]{});
		System.out.println("数组"+user[2]);
	}

9、在一个集合中加入另一个集合中的所有元素
使用addAll在一个集合中加入另一个集合中所有对象

private static void addAllTest() {
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers);
		List<User> officers=new ArrayList<User>();
		for (int j = 1; j <= 5; j++) {
			officers.add(new User("军官 "+j));
		}
		System.out.println(officers);
//		将officers集合所有对象加入到soldiers集合,
//		也可以在指定位置加入
		soldiers.addAll(officers);
		System.out.println(soldiers);
		soldiers.addAll(2, officers);
		System.out.println(soldiers);
	}

10、清空集合中的元素
使用clear 清空一个ArrayList

 private static void clearTest() {
		// TODO Auto-generated method stub
		List<User> soldiers=new ArrayList<User>();
		for (int i = 1; i <= 5; i++) {
			soldiers.add(new User("士兵 "+i));
		}
		System.out.println(soldiers);
		soldiers.clear();
		System.out.println(soldiers);
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值