关于List与Set, 各自相对于对方的优缺点是什么呢? 我可以想象出SET相对于List的优点,但是我想不出List的优点。。还有,什么时候要使用其中一个,而不是另外一个? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Set和List没可比性吧....List有序Set唯一当然也有实现了有序性的Set...哪么就是效率不同了,当然这个不容易感觉出来 LIST排序可是强项!对于循序加入与存取,使用Arraylist的效率很高. List接口对Collection进行了简单的扩充,它的具体实现类常用的有ArrayList和LinkedList。你可以将任何东西放到一个List容器中,并在需要时从中取出。ArrayList从其命名中可以看出它是一种类似数组的形式进行存储,因此它的随机访问速度极快,而LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作。在具体应用时可以根据需要自由选择。前面说的Iterator只能对容器进行向前遍历,而ListIterator则继承了Iterator的思想,并提供了对List进行双向遍历的方法。 Set接口也是Collection的一种扩展,而与List不同的时,在Set中的对象元素不能重复,也就是说你不能把同样的东西两次放入同一个Set容器中。它的常用具体实现有HashSet和TreeSet类。HashSet能快速定位一个元素,但是你放到HashSet中的对象需要实现hashCode()方法,它使用了前面说过的哈希码的算法。而TreeSet则将放入其中的元素按序存放,这就要求你放入其中的对象是可排序的,这就用到了集合框架提供的另外两个实用类Comparable和Comparator。一个类是可排序的,它就应该实现Comparable接口。有时多个类具有相同的排序算法,那就不需要在每分别重复定义相同的排序算法,只要实现Comparator接口即可。集合框架中还有两个很实用的公用类:Collections和Arrays。Collections提供了对一个Collection容器进行诸如排序、复制、查找和填充等一些非常有用的方法,Arrays则是对一个数组进行类似的操作。 看你实际需求了``List接口`是序列的,Set`是唯一的`不允许重复` 一般都用list,当你要清楚重复数据的时候用下set,一般都是这么用的。 list:有序,元素可重复set:无序,元素唯一性 List l = new ArrayList();l.add(对象);....所以,我总结下来,有集合的地方必有Iterator进行迭代,set没有顺序,而且里面的对象不可以重复 List 和 Set 不是优缺点的问题,而是各自有不同的用处。茶杯不能坐,凳子不能装水,你能比较茶杯和凳子各有什么优缺点吗? jsp 假分页出现所取出的结果集不能遍历! 在面版上移除容器后再加载其他容器怎么实现。。。 删除JTable表中选中记录 为什么结果会这样 请发表意见 java初学者求高手解决这个程序,跪谢 困扰已久的效率问题.看过jive熟悉模式的老大们进.. 数据库连接问题 About The Conditional Operator ?: 哪位大侠知道哪有java聊天室的源代码可下载,请告知!谢谢!;) JDK安装过程中莫名中断,怎么解决 java 数组值比较大小并分类 GUI的JTextField的连数据库问题
List有序
Set唯一当然也有实现了有序性的Set...
哪么就是效率不同了,当然这个不容易感觉出来
对于循序加入与存取,使用Arraylist的效率很高.
set:无序,元素唯一性
l.add(对象);
.
.
.
.
所以,我总结下来,有集合的地方必有Iterator进行迭代,set没有顺序,而且里面的对象不可以重复