java set 顺序
我的教材中说:
set中对象不按特定的方式排序 啥概念?
list集合中的对象按索引位置排序 (是不是说存入时什么顺序就是什么顺序?)
说arraylist是线程不同步的 怎么理解?
我测试了下 发现attaylist果然是物理顺序 hashSet好像没啥顺序 treeSet顺序是自动排列的 是这样的吧? 展开
在java语言中,提供多种不同的结构来组织对象,Set(集合)是其中的一种,本身是一个接口,其迭代时的顺序取决于其具体实现。典型的实现包括:
HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放;
LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;
TreeSet:提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。
扩展资料
Set<String> set = new TreeSet<String>();
set.add("f");
set.add("a");
set.add("b");
set.add("c");
set.add("d");
set.add("e");
System.out.println(set);
参考资料:百度百科 set (计算机学)
集(set)是最简单的一种集合,它的对象不按特定方式排序(不保证集合中元素的顺序),只是简单的把对象加入集合中,就像往口袋里放东西。集(set)它不允许出现重复元素且允许包含值为null的元素,但最多只能有一个null元素
列表(list)的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。
Set 和List 都继承了Conllection
扩展资料
一、java中的set接口有如下的特点:
1、不允许出现重复元素;
2、集合中的元素位置无顺序;
3、有且只有一个值为null的元素。
二、因为java中的set接口模仿了数学上的set抽象,所以,对应的数学上set的特性为:
1、互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。
2、无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序。但就集合本身的特性而言,元素之间没有必然的序。
3、空集的性质:空集是一切集合的子集
Set不保存重复的元素。Set中最常被使用的是测试归属性,你可以很容易的询问某个对象是否在某个Set中。Set具有与Collection完全一样的接口,因此没有任何额外的功能。实际上Set就是Collection,只是行为不同。
参考资料:百度百科-java集合类
ArrayList 把1,2,3,4先后加进去,遍历出来就是1234,Set可不一定哟,可能就是4213或1243等等
你好!
set集合 是不保证集合中元素的顺序的
list 集合 才会有顺序 List的特征是其元素以线性方式存储
set它不允许出现重复元素 且允许包含值为null的元素,但最多只能有一个null元素
Set 和List 都继承了Conllection