一、set中不允许存在相同的元素

package ZangJie7;import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;public class SetDemo {/*** sets和list一样,都是集合,唯一不同的在于sets里面的元素不能重复,*/public static void main(String[] args) {Set <String> set = new HashSet<String>();//在集合中添加元素set.add("BWm");set.add("AoDi");set.add("HonDa");set.add("HonDa");System.out.println(set);List<String> list = new ArrayList<String>();list.add("BWm");list.add("AoDi");list.add("HonDa");list.add("HonDa");System.out.println(list);}}

运行结果为:(set中不允许存在相同的元素,所以只打印了一个“HonDa”)

二、使用不同是set集合,排序结果不同

package ZangJie7;import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;public class SetDemo {/*** sets和list一样,都是集合,唯一不同的在于sets里面的元素不能重复,*/public static void main(String[] args) {
//        HsahSet不保证存和取的顺序一样Set <String> set = new HashSet<String>();//在集合中添加元素set.add("BWm");set.add("AoDi");set.add("HonDa");set.add("HonDa");
//        使用高级for循环来读取集合中的元素for(String item:set) {System.out.println("HashSet读取的元素顺序:"+item);}System.out.println();//        LinkHashSet 保证有序Set <String> lset = new LinkedHashSet<String>();//在集合中添加元素lset.add("BWm");lset.add("AoDi");lset.add("HonDa");
//        使用高级for循环来读取集合中的元素for(String item:lset) {System.out.println("LinkedHashSet读取的元素顺序:"+item);}System.out.println();//        TreeSet以自然排序的方式来对进行元素排序Set <String> tset = new TreeSet<String>();//在集合中添加元素tset.add("BWm");tset.add("AoDi");tset.add("HonDa");
//        使用高级for循环来读取集合中的元素for(String item:tset) {System.out.println("TreeSet读取的元素顺序:"+item);}/*        List<String> list = new ArrayList<String>();list.add("BWm");list.add("AoDi");list.add("HonDa");list.add("HonDa");System.out.println(list);*/}}

运行结果为:

三、set集合存储性能顺序

HashSet按照hash值存储,例如读书馆中书放在那个书架上都是有记录的,找书时不需要每个书架都找一遍,直接去对应的书架拿即可。

TreeSet需要保证自然顺序

四、那set集合分为hashSet、treeSet和linkedHashSet,我们怎么来区分什么情况下使用:

1、如果我们需要将元素排序, 那么使用TreeSet

2、如果我们不需要排序, 使用HashSet, HashSet比TreeSet效率高

3、如果我们需要保留存储顺序, 又要过滤重复元素, 那么使用LinkedHashSet

转载于:https://www.cnblogs.com/luohuasheng/p/10641419.html

章节七、4-Sets相关推荐

  1. #章节七:布尔值和四种语句

    章节七:布尔值和四种语句 目录 章节七:布尔值和四种语句 1. 用数据做判断:布尔值 1.1 两个数值做比较 1.2 直接用数值做运算 1.3 布尔值之间的运算 2. 四种新的语句 2.1 break ...

  2. Python语言基础与应用 北京大学 测试章节七

    1.Python可以使用(open)函数打开文件,这个函数默认的打开模式为('r') 2.下列关于文件相关模块说法错误的是(打开二进制文件应该采用模式'rt') 3.下列关于时间相关模块说法错误的是( ...

  3. 章节七:RASA NLU组件介绍--意图分类器和实体提取器

    目录 一.前言 二.意图分类器 2.1 MitieIntentClassifier 2.2 LogisticRegressionClassifier 2.3 SklearnIntentClassifi ...

  4. 《1024伐木累》-小白篇之谈判-总章节七

    往期回顾:  丽姐着急给母亲看病,向老王借钱,却中了他的圈套,幸好月侠及时赶到带走丽姐,他们在老王科技的命运又会如何呢? 小序 上天给你关上一扇门, 也会给你打开另一扇窗, 生容易,活亦不难: 但什么 ...

  5. python语言基础与应用章节七_专技天下Python语言基础与应用章节测试答案

    [单选] 价值工程中所述的"价值"是指作为某种产品所具有的功能与获得该功能的全部费用的比值.它是对象的(),是作为评价事物有效程度的一种尺度提出来的. [单选] 不必要功能就是不符 ...

  6. 【概念理论】不存在的NOIP2016

    时间:2017.6.17 0x01搜索 一.定义 1.从数据集合中找出目标元素进行处理. 2.当我们难以通过分析解决给定问题,或者找不到一个能有效解决问题的算法时,就不得不依靠反复的试错来寻求问题的答 ...

  7. java HotSpot 内存管理白皮书

    原文见:http://www.open-open.com/lib/view/open1381034220705.html.查阅资料后,对原文做了补充. 文中关于JVM的介绍基于JDK1.6的Hotsp ...

  8. 80.【Spring5】

    Spring<解耦> (一).Spring 简介 1.历史: 2.Spring 目的 3.Spring 引入 4.优点 5.Spring 七大模块组成: 6.扩展(约定大于配置) (二). ...

  9. 【Python百日基础系列】Day03 - Python 数据类型

    文章目录 一.Python中的数据类型 1.1 数据类型系统是编程语言的核心 1.2 Python中的数据类型种类 1.3 数据类型的可变性 1.4 数据类型查看函数 - type() 二.Numbe ...

最新文章

  1. SSMS2008插件开发(3)--部署调试SSMS2008插件
  2. stdthread(9)死锁deadlock
  3. java 断点_每个Java开发人员应拥有的持久断点
  4. Linux系统下MySQL的导出数据语句SELECT … INTO OUTFILE的用法
  5. c语言程序设计工资纳税系统流程图,c语言程序设计,纳税工资系统.doc
  6. oracle没有注册mdsdora,oracle rac一个节点服务注册不上,必须重启监听才能注册上,各位大神帮忙看一下...
  7. linux 运行.net 5,.NET 5 将于2020年问世
  8. 又到一年“粽子节”,快来测测你包的粽子颜值几分
  9. xml 标签带有号php,php操作xml入门之xml基本介绍及xml标签元素
  10. 如何在线查看某个地方的高程值
  11. oppo r11s鸿蒙固件,OPPO R11s Plus官方固件rom刷机包_R11sPlus系统升级更新包
  12. 京东联盟sdk php,京东联盟新增对接sdk,配置教程
  13. 在linux上压缩文件,Linux上压缩文件的 5 种方法
  14. PyTorch 报错:TypeError: Cannot handle this data type: (1, 1, 512), |u1 (已解决)
  15. 【8086汇编】输入一个整数,判断其奇偶性(输入范围:-32768~32767,含提示信息)
  16. 143个相见恨晚的排行榜网站,总有一个用得着!
  17. misc1-图片隐写
  18. 你也遇到JSONException:create instance error, null...问题啦?
  19. 毛玻璃效果的登录页面
  20. R语言ggplot2可视化、在一张图中画出两条曲线(two lines in same ggplot2 graph)、使用pdf函数将ggplot2可视化图像保存到指定目录的pdf格式文件中

热门文章

  1. 简述模块-random
  2. [异常特工]android常见bug跟踪
  3. 关于年终奖励的扣税算法BUG
  4. 仿IOS效果-带弹簧动画的ListView
  5. fckeditor 数据库 取值 显示
  6. Ant在MyEclipse中的配置总结
  7. MySQL中MyISAM 与innoDB的区别(转)
  8. WCF-Discovery的协议基础:WS-Disvovery(客户端驱动探测服务)
  9. stylus-loader (copy)
  10. iOS 10 SceneKit 新特性 – SceneKit 制作 3D 场景框架