当前位置: 代码迷 >> Java相关 >> set集合有关问题,帮忙解答上,多谢
  详细解决方案

set集合有关问题,帮忙解答上,多谢

热度:1827   发布时间:2013-02-25 21:43:19.0
set集合问题,帮忙解答下,谢谢
team里面有
Set Students = new HashSet();

 Team team = new Team();
   team.setTeamName("team1");
   
   
   for(int i = 0; i < 1200; i++)
   {
   Student student = new Student();
   student.setName("lisi");
   student.setAge(30);
   student.setCardId("123456");
   student.setTeam(team);
   
    team.getStudents().add(student);
   }

为什么相同的student对象怎么都加到了set的集合里面去了
------最佳解决方案--------------------------------------------------------
Student类要重写 equals()和hashCode()方法。
------其他解决方案--------------------------------------------------------
那是200个不同的student对象,只是刚好这些对象的内容一致,但在内存中它们分别占一个位置
正如楼上所言,可以重写equals方法,判定当名字相同,或者是全部资料都相同时就认为同一个student,那后面的就不会放进去了
------其他解决方案--------------------------------------------------------
如2楼所说,这是200个不同的对象,不信用equals方法测试一下
------其他解决方案--------------------------------------------------------
set只是单个值不重复,不是对象。每次new 都是一个新的地址,每个对象都不一样的地址。所以每次都set了不同的地址进去。
  相关解决方案