黑马程序员技术交流社区
标题:
关于TreeSet的问题,求教
[打印本页]
作者:
天方地圆
时间:
2014-2-28 11:01
标题:
关于TreeSet的问题,求教
本帖最后由 天方地圆 于 2014-3-4 22:59 编辑
class TreeSetDemo
{
public static void main(String[] args)
{
TreeSet ts = new TreeSet();
ts.add("cba");
ts.add("abcd");
ts.add("aaa");
ts.add("bca");
Iterator it = ts.iterator();
while (it.hasNext())
{
System.out.println(it.next());
}
}
}
复制代码
Iterator it = ts.iterator(); 这句话,是什么意思?
作者:
赵卓辉
时间:
2014-2-28 11:41
创建一个迭代器,TreeSet中的 iterator方法,返回在此 set 中的元素上按升序进行迭代的迭代器。为了后面进行遍历。
作者:
菠萝鱼
时间:
2014-2-28 11:57
Iterator 是迭代器 可用它实现遍历集合(类似for循环)。Iterator是接口,不能直接new,获取他的对象只能是通过集合的 ts.iterator()方法获取实例。
作者:
陪你等日出
时间:
2014-2-28 12:53
就是获取ts这个集合的迭代器,用来遍历集合中元素
作者:
牛头人图腾
时间:
2014-2-28 13:10
Iterator it = ts.iterator();
1、左边声明一个接口类型的变量,该接口类型是Iterator。
2、右边是treeSet的对象ts调用iterator方法,该方法会返回一个Iterator接口类型的对象。暂时可以这样理解该方法通过获得迭代器,操纵迭代器可获取Collection中的元素。
3、把ts.iterator返回的对象的首地址值赋给变量it,即it指向了该对象,it就和该对象关联起来了。
集合框架那里有些地方还是比较难理解的,而且有较多内部类的设计,需要看懂源码才能掌握得较透彻,现在我们还看不懂那源码。所以建议楼主有些地方可以先缓一缓,先记住会用就好。加油!
作者:
平凡成就非凡
时间:
2014-2-28 13:23
TreeSet底层是二叉树数据结构, 元素要排序的。添加的元素必须拥有可比较性。就是元素必须实现Comparable接口。
在自定义对象类是。1 让类具有比较性,类实现Comparable接口并复写compareTo( )方法。
2 让TreeSet拥有比较器,就是定义比较器的子类实现Comparator接口并复写compare( )方法。并把类对象作为实际参数传给TreeSet构造函数。
作者:
何苦似梦离
时间:
2014-2-28 14:31
Iterator it = ts.iterator(); 这句话,是什么意思?
这个就是获取ts的迭代,用于遍历TreeSet元素
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2