java基础知识(七)

18.set集合:
     ①遍历:
      public static void main(String[] args) {
		Set<StudentTest> s = new HashSet<StudentTest>();
		s.add(new StudentTest("1","张三"));
		s.add(new StudentTest("2","李四"));
		//遍历Set集合
		//第一种方式:使用迭代器
		Iterator it=s.iterator();
		while(it.hasNext()){//hasNext判断有没有下一个元素
			StudentTest sss=(StudentTest) it.next();//返回迭代的下一个元素
			System.out.println(sss.getStuno()+" "+sss.getName());
		}
		//第二种方式:使用for each
		//for each 方式本质还是迭代器 每循环一次 放的就是当前对象的地址 适合List Set Map
		for(StudentTest ss:s){
			System.out.println(ss.getName());
		}
		//第三种方式:将set集合转换成数组,存放的是StudentTest
		Object[] o=s.toArray();
		for(int i=0;i<o.length;i++){
			StudentTest sssss=(StudentTest) o[i];
			System.out.println(sssss.getName());
		}
		for(Object st:o){
			System.out.println(st);
		}
	}
   ②Set集合元素不重复:
     public static void main(String[] args) {
		Set<StudentTest> s = new HashSet<StudentTest>();
         StudentTest stu2 =new StudentTest();
         stu2.setStuno("11");
		stu2.setName("11");
		s.add(stu2);
		stu2.setStuno("12");
		stu2.setName("12");
		s.add(stu2);
		System.out.println(s);
         //重新new
         stu2 =new StudentTest();
         stu2.setStuno("13");
		stu2.setName("13");
         s.add(stu2);
         System.out.println(s);
	}
结果:[12	12]
      [12	12, 13	13]
程序中向s中添加了两次,但实际s中只有一个,stu2只new了一次,两次添加的是同一个元素,
所以结果只有一个;当重新new时,就添加了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值