java set 顺序

集合类setlist的存入顺序问题我彻底乱了谁知道给我讲下呗我的教材中说:set中对象不按特定的方式排序啥概念?list集合中的对象按索引位置排序(是不是说存入时什么顺序... 集合类set list 的存入顺序问题 我彻底乱了 谁知道 给我讲下呗
我的教材中说:
set中对象不按特定的方式排序 啥概念?
list集合中的对象按索引位置排序 (是不是说存入时什么顺序就是什么顺序?)
说arraylist是线程不同步的 怎么理解?
我测试了下 发现attaylist果然是物理顺序 hashSet好像没啥顺序 treeSet顺序是自动排列的 是这样的吧?
展开
 我来答
兔丞飞
高粉答主

推荐于2019-10-05 · 专注娱乐 专注娱乐 专注娱乐
兔丞飞
采纳数:25 获赞数:19893

向TA提问 私信TA
展开全部

在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 (计算机学)



百度网友c330b2d
推荐于2019-09-30 · TA获得超过448个赞
知道答主
回答量:29
采纳率:0%
帮助的人:8.7万
展开全部

集(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集合类

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianjigeng
推荐于2017-09-14 · TA获得超过593个赞
知道小有建树答主
回答量:387
采纳率:0%
帮助的人:0
展开全部
set有多种,hashset,treeset和linkedhashset比较常见,hashset最常用。linkedhashset是有序的,hashset是无序的。linkedhashset是以链表形式存放数据的,hashset是用hash散列存放数据的。list也分好几种,主要有arraylist和linkedlist,都是有序的,其中arraylist类比数组,linkedlist类比链表。arraylist是线程不同步的,也就是说多个线程同时操作一个list那么List中存放数据的一致性就不能保证。vector是线程同步的,也就是说线程安全的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangnan2112
2010-05-05 · 超过23用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:45.3万
展开全部
list用add()加进去后是有先后顺序的,顺序是一定的,set刚好没有顺序,简单来说是乱的
ArrayList 把1,2,3,4先后加进去,遍历出来就是1234,Set可不一定哟,可能就是4213或1243等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
javaa之歌
2015-08-10 · TA获得超过314个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:149万
展开全部

你好!

  1. set集合  是不保证集合中元素的顺序的

  2. list 集合  才会有顺序 List的特征是其元素以线性方式存储

  3. set它不允许出现重复元素 且允许包含值为null的元素,但最多只能有一个null元素

  4. Set 和List 都继承了Conllection

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式