黑马程序员技术交流社区
标题:
集合添加对象,输出的始终是最后一次的赋值
[打印本页]
作者:
13009862300
时间:
2015-9-3 01:01
标题:
集合添加对象,输出的始终是最后一次的赋值
TreeSet<Student> set=new TreeSet<Student>();
set.add(new Student(name, chinese, number, english));
输出的始终是最后一次添加的值
怎么破
作者:
Doug
时间:
2015-9-3 01:01
没重写equals()方法;没实现Comparable接口。
作者:
13009862300
时间:
2015-9-3 01:19
本帖最后由 13009862300 于 2015-9-3 01:24 编辑
XXXXXXXXXXX
作者:
13009862300
时间:
2015-9-3 01:20
这个问题解决不聊了XXXXXXXXXX
作者:
liuch111
时间:
2015-9-3 09:14
本帖最后由 liuch111 于 2015-9-3 09:23 编辑
code能打全吗?
作者:
backin
时间:
2015-9-3 10:15
TreeSet初始化的位置错了,要在遍历之前初始化,Student对象要在遍历时初始化
作者:
zhangcheng0403
时间:
2015-9-3 10:26
这个问题我以前也碰到过,你是不是采用的的是循环赋值,而且把集合创建放在循环之内。你先打印一下集合的大小,如果size是1就应该是这个问题。最好把代码贴全就能看出来了。
作者:
董兴朋
时间:
2015-9-3 17:56
路过一下!
作者:
heima_huang
时间:
2015-9-3 19:30
首先明确一下,TreeSet集合使用的是二叉树数据结构,它有两个这样两个特点:
1、TreeSet内部不能在重复元素,当你向其中添加(add)元素与集合中已有元素相同时,添加失败;
2、TreeSet集合内的元素是有序的,最后一次添加(add)的元素不一定就存储在集合的最后。
两个元素是否相同,或都其大小顺序是比较得到的,比较有两种方式:传递比较器,或者让被添加的对象实现(implements)接口Comparable。
你需要注意下面几个问题:你的Student类是否具有可比较性,你的多个元素是怎么添加的(是否重复),然后又是怎么输出的?
由于没能看到你的代码,只能回答这么多了。
作者:
残影
时间:
2015-9-3 22:37
Student的类是怎样的呢,
作者:
肖天长
时间:
2015-9-4 12:13
源代码看看
作者:
xinchi
时间:
2015-9-10 09:29
没有用迭代器取出
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2