栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

TreeSet

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TreeSet

 

1、简介

        TreeSet类扩展了 AbstractSet和implements NavigableSet接口。它与 HashSet 类非常相似,不同之处在于它按排序顺序存储元素。其底层实现为红黑树。

2、结构

3、特性

        它扩展AbstractSet了扩展类的AbstractCollection类。

        它实现NavigableSet了扩展接口的SortedSet接口。

        不允许重复值。

        不允许null值。

        有序集合。

        不允许插入异构对象。

        非线程安全。

4、案例

 //自动排序
        TreeSet treeSet=new TreeSet();
        
        treeSet.add(20);
        
        treeSet.add(18);
        
        treeSet.add(17);
        
        treeSet.add(21);
        
        System.out.println(treeSet);
        
       
       TreeSet treeSet2=new TreeSet();
        
        treeSet2.add("a");
        
        treeSet2.add("c");
        
        treeSet2.add("b");
        
        treeSet2.add("ab");
        
        System.out.println(treeSet2);

 

TreeSet treeSet=new TreeSet();
		
		//按照年龄排序(自定义排序的规则)
		
		treeSet.add(new Person("aa", 20));
		treeSet.add(new Person("bb", 18));
		treeSet.add(new Person("cc", 17));
		treeSet.add(new Person("dd", 21));
		
		System.out.println(treeSet);	
 TreeSet treeSet=new TreeSet();
	     
	     treeSet.add(20);
	     
	     treeSet.add(18);	     
	     
	     treeSet.add(30);
	     
	     treeSet.add(25);
	     
	     System.out.println(treeSet);
	     
	     System.out.println(treeSet.first()); //返回第一个(最小)
	     
	     System.out.println(treeSet.last()); //返回最后一个(最大);
	     
	     System.out.println(treeSet.floor(24));// <=指定元素的最大的元素
	     
	     System.out.println(treeSet.lower(25)); // <指定元素的最大的元素
	     
	     System.out.println(treeSet.ceiling(25));// >=指定元素的最小的元素
	     
	     System.out.println(treeSet.higher(18)); // >指定元素的最小的元素
	     
	     System.out.println(treeSet.pollFirst()); //获得第一个元素 并且将其从集合中删除
	     
	     System.out.println(treeSet);
	     
	     System.out.println(treeSet.pollLast()); //获得最后一个元素 并且将其从集合中删除	     
	     	
	     treeSet.add(21);
	     
	     treeSet.add(24);
	     
	     System.out.println(treeSet);
	     
	     //返回的是>=20&& <24的所有集合元素
	     SortedSet set= treeSet.subSet(20, 24);
	     
	     for(Integer integer:set)
	    	 System.out.println(integer);
	     
	     //返回的是>=21的所有集合元素
	     SortedSet set2= treeSet.tailSet(21);
	     
	     for(Integer integer:set2)
	    	 System.out.println(integer);
	     
	     
	     System.out.println(treeSet);
		
		

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024327.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号