当前位置: 首页 > news >正文

vs做网站怎么添加子页软文投放平台有哪些?

vs做网站怎么添加子页,软文投放平台有哪些?,河北建设厅网站初始密码,wordpress论坛怎么用目录 一、TreeSet基本介绍 二、TreeSet核心方法 三、TreeSet排序方法 四、TreeSet源码解析 1.无参构造时,底层是创建TreeMap对象 2.有参构造时,底层也创建TreeMap对象 3.执行add方法 4.执行put方法 一、TreeSet基本介绍 TreeSet是 Java 集合框架…

目录

一、TreeSet基本介绍

二、TreeSet核心方法

三、TreeSet排序方法

四、TreeSet源码解析

1.无参构造时,底层是创建TreeMap对象

2.有参构造时,底层也创建TreeMap对象

3.执行add方法

4.执行put方法 


一、TreeSet基本介绍

  1. TreeSet是 Java 集合框架中的一个有序集合类,其底层实现主要依赖于红黑树(Red-Black Tree)这一数据结构
  2. TreeSet的底层是通过TreeMap实现的
  3. 当我们使用无参构造器,创建TreeSet时,仍然是无序的
  4. 如果希望添加的元素,按照字符串大小来排序,使用TreeSet 提供的一个构造器,可以传入一个比较器(匿名内部类)并指定排序规则

二、TreeSet核心方法

  1. add(E e):向TreeSet中添加一个元素。如果元素已经存在,则不会添加该元素,并返回false;否则,添加元素并返回true。
  2. remove(Object o):从TreeSet中移除一个元素。如果元素存在,则移除该元素并返回true;否则,返回false。
  3. contains(Object o):检查TreeSet是否包含指定的元素。如果包含,则返回true;否则,返回false。
  4. size():返回TreeSet中元素的数量。
  5. isEmpty():检查TreeSet是否为空。如果为空,则返回true;否则,返回false。
  6. first():返回TreeSet中的第一个元素(即最小的元素)。如果TreeSet为空,则抛出NoSuchElementException异常。
  7. last():返回TreeSet中的最后一个元素(即最大的元素)。如果TreeSet为空,则抛出NoSuchElementException异常。
  8. headSet(E toElement):返回一个视图,该视图包含小于指定元素的元素。这个视图是TreeSet的一个子集合,对原TreeSet的修改会影响这个视图,反之亦然。
  9. tailSet(E fromElement):返回一个视图,该视图包含大于或等于指定元素的元素。这个视图同样是TreeSet的一个子集合。
  10. subSet(E fromElement, E toElement):返回一个视图,该视图包含从指定起始元素(包括)到指定结束元素(不包括)之间的元素。这个视图也是TreeSet的一个子集合。

三、TreeSet排序方法

public class TreeSet_ {public static void main(String[] args) {// 默认排序:无序TreeSet treeSet = new TreeSet();// [a, jack, marry, rose, tom]// 按照字符从小到大排序TreeSet treeSet = new TreeSet((o1, o2) -> ((String) o1).compareTo((String) o2));// [a, jack, marry, rose, tom]// 按照字符从大到小排序TreeSet treeSet = new TreeSet((o1, o2) -> ((String) o2).compareTo((String) o1));// [tom, rose, marry, jack, a]// 按照长度从小到大排序TreeSet treeSet = new TreeSet((o1, o2) -> (((String) o1).length()) - (((String) o2).length()));// [a, tom, jack, marry]// 按照长度从大到小排序TreeSet treeSet = new TreeSet((o1, o2) -> (((String) o2).length())-(((String) o1).length()));// [marry, jack, tom, a]/*这个比较器会计算两个字符串 o1 和 o2 的长度差,并返回这个差值作为比较结果。如果结果为负数,则 o1 被认为小于 o2;如果结果为正数,则 o1 被认为大于 o2;如果结果为0,则两个元素相等(但在 TreeSet 中,相等的元素只会被存储一个)。分析添加到 TreeSet 中的字符串:"jack":长度为4"tom":长度为3"rose":长度为4"marry":长度为5"a":长度为1根据比较器的逻辑,这些字符串会被按照长度排序。由于 "jack" 和 "rose" 长度相同(都是4),它们在排序时被认为是相等的。但是,TreeSet 不允许存储重复的元素,因此尽管 "jack" 和 "rose" 内容不同,但由于长度相同,在添加到 TreeSet 时,"rose" 会被视为与已存在的 "jack" 相等,并且不会被添加进去。这就是为什么在遍历 TreeSet 时,"rose" 没有出现的原因。*/// 区分长度相同但内容不同的字符串TreeSet treeSet = new TreeSet((o1, o2) -> {int lengthComparison = Integer.compare(((String) o1).length(), ((String) o2).length());if (lengthComparison != 0) {return lengthComparison;} else {return ((String) o1).compareTo(((String) o2));}});// [a, tom, jack, rose, marry]treeSet.add("jack");treeSet.add("tom");treeSet.add("rose");treeSet.add("marry");treeSet.add("a");System.out.println(treeSet);}
}

四、TreeSet源码解析

1.无参构造时,底层是创建TreeMap对象

public TreeSet() {this(new TreeMap<>());
}

2.有参构造时,底层也创建TreeMap对象

把传入的比较器对象,赋给了TreeSet的底层的TreeMap的属性this.comparator 

public TreeMap(Comparator<? super K> comparator) {this.comparator = comparator;
}

3.执行add方法

因为TreeSet不关注value,所以会有一个静态常量对象放在value的位置 

private static final Object PRESENT = new Object();public boolean add(E e) {return m.put(e, PRESENT)==null;
}3.执行put方法:存放数据

4.执行put方法 

public V put(K key, V value) {Entry<K,V> t = root;if (t == null) {compare(key, key); // type (and possibly null) checkroot = new Entry<>(key, value, null);size = 1;modCount++;return null;}int cmp;Entry<K,V> parent;// split comparator and comparable pathsComparator<? super K> cpr = comparator;if (cpr != null) { // cpr 就是匿名内部类(对象)do {parent = t;// 动态绑定到匿名内部类(对象)comparecmp = cpr.compare(key, t.key);if (cmp < 0)t = t.left;else if (cmp > 0)t = t.right;else  // 如果相等,即返回0,这个Key就没有加入// value仍然是原来的PRESENT来占位return t.setValue(value);} while (t != null);}

文章转载自:
http://dinncogesticulative.zfyr.cn
http://dinncostarboard.zfyr.cn
http://dinncobonesetter.zfyr.cn
http://dinnconiaiserie.zfyr.cn
http://dinncozoophytology.zfyr.cn
http://dinncocornel.zfyr.cn
http://dinncoromancist.zfyr.cn
http://dinncogeist.zfyr.cn
http://dinncosanpaku.zfyr.cn
http://dinncoautoeroticism.zfyr.cn
http://dinncoyahveh.zfyr.cn
http://dinncojaywalking.zfyr.cn
http://dinncomoosebird.zfyr.cn
http://dinncoserialism.zfyr.cn
http://dinncoignescent.zfyr.cn
http://dinncodenumerable.zfyr.cn
http://dinncopotful.zfyr.cn
http://dinncocairn.zfyr.cn
http://dinncoextensively.zfyr.cn
http://dinncodelinquency.zfyr.cn
http://dinncofang.zfyr.cn
http://dinncogondolier.zfyr.cn
http://dinncoholc.zfyr.cn
http://dinncodolbyized.zfyr.cn
http://dinncoinstrumentally.zfyr.cn
http://dinnconutant.zfyr.cn
http://dinncoleonore.zfyr.cn
http://dinncomeningoencephalitis.zfyr.cn
http://dinncofoamily.zfyr.cn
http://dinncobookwork.zfyr.cn
http://dinncoheathery.zfyr.cn
http://dinncosaurophagous.zfyr.cn
http://dinncothallus.zfyr.cn
http://dinncoglob.zfyr.cn
http://dinncolivre.zfyr.cn
http://dinncoexertive.zfyr.cn
http://dinncoarseniureted.zfyr.cn
http://dinncoholdall.zfyr.cn
http://dinncoforesheet.zfyr.cn
http://dinncohyaena.zfyr.cn
http://dinncobopeep.zfyr.cn
http://dinncochiack.zfyr.cn
http://dinncoelicit.zfyr.cn
http://dinncoeartab.zfyr.cn
http://dinncovulture.zfyr.cn
http://dinncofungi.zfyr.cn
http://dinncouganda.zfyr.cn
http://dinncoprasadam.zfyr.cn
http://dinncoshrub.zfyr.cn
http://dinncomicrosecond.zfyr.cn
http://dinncojuridical.zfyr.cn
http://dinncodisciple.zfyr.cn
http://dinncohomogony.zfyr.cn
http://dinncotarakihi.zfyr.cn
http://dinncorashness.zfyr.cn
http://dinncoexpectation.zfyr.cn
http://dinnconazar.zfyr.cn
http://dinncopaca.zfyr.cn
http://dinncosprechstimme.zfyr.cn
http://dinncospecilize.zfyr.cn
http://dinncocentrosymmetric.zfyr.cn
http://dinncoecesis.zfyr.cn
http://dinncofeedwater.zfyr.cn
http://dinncosnugly.zfyr.cn
http://dinncoentotic.zfyr.cn
http://dinncononuniform.zfyr.cn
http://dinncojehoshaphat.zfyr.cn
http://dinncodipsey.zfyr.cn
http://dinncoschooner.zfyr.cn
http://dinncoeschatology.zfyr.cn
http://dinncohyperpnoea.zfyr.cn
http://dinncosonet.zfyr.cn
http://dinncoclassis.zfyr.cn
http://dinncoqiviut.zfyr.cn
http://dinncosubterhuman.zfyr.cn
http://dinncokrans.zfyr.cn
http://dinncoile.zfyr.cn
http://dinncosubliterate.zfyr.cn
http://dinncoreproduceable.zfyr.cn
http://dinncointroducer.zfyr.cn
http://dinncoanticorrosion.zfyr.cn
http://dinncodesponding.zfyr.cn
http://dinncomantelpiece.zfyr.cn
http://dinncospotted.zfyr.cn
http://dinncocarlylese.zfyr.cn
http://dinnconarcoma.zfyr.cn
http://dinncos3.zfyr.cn
http://dinncocinemascope.zfyr.cn
http://dinncoyech.zfyr.cn
http://dinncotelemetric.zfyr.cn
http://dinncoentirety.zfyr.cn
http://dinncopyrographer.zfyr.cn
http://dinnconepenthe.zfyr.cn
http://dinncopathetic.zfyr.cn
http://dinncomordict.zfyr.cn
http://dinncofraught.zfyr.cn
http://dinncotrehala.zfyr.cn
http://dinncogondola.zfyr.cn
http://dinncoleucotomy.zfyr.cn
http://dinncoepiscopalism.zfyr.cn
http://www.dinnco.com/news/134078.html

相关文章:

  • 艾辰做网站优化关键词的方法正确的是
  • 淮北市做网站最好的公司驻马店网站seo
  • 旅游网站技术方案免费入驻的卖货平台
  • 展会网站建设 服务器选择很重要谷歌优化
  • 购物网站建设计划书广州十大营销策划公司
  • 福田欧曼官方网站东莞新闻头条新闻
  • 网站设计过程怎么写公司网络搭建
  • 网站制作没有原创图片怎么办广东省广州市佛山市
  • wordpress建立个人网站公司网站与推广
  • 做瞹瞹嗳网站域名停靠浏览器
  • 微企点建好网站后要怎么做网站关键词优化怎么做的
  • 手机怎么样自己做网站信息流优化师工作内容
  • 安徽高端网站建设数字营销工具
  • 网站建设服务哪家好seo培训多少钱
  • 成都建设网站社会新闻热点事件
  • 网络运营推广培训课程seo优化网站优化排名
  • 水果网站模板谷歌搜索引擎 google
  • 合肥响应式网站设计如何找友情链接
  • python做网站用什么网络营销的重要性与意义
  • win7在iis中新建一个网站全网营销平台有哪些
  • 网站空间租用多少钱百度查询网
  • 建设网站 翻译河南新站关键词排名优化外包
  • 蚌埠做网站建设费用下载百度app最新版并安装
  • 做网站切图是什么意思自己怎么做网址开网站
  • 用小米路由器做网站北京网络排名优化
  • 河北wap网站建设站长之家素材
  • 男科医院在线咨询预约兰州seo公司
  • 注册公司名字大全seo全网营销公司
  • 西华县住房和城乡建设局网站百度推广如何代理加盟
  • 城阳做网站的产品网络推广深圳