精华内容
下载资源
问答
  • SortedSet

    2019-02-11 13:49:59
    摘自:Java SortedSet为什么可以实现自动排序? C# SortedSet<int> ts = new SortedSet<int> { 11, 1, 13 }; //ts....

    摘自:Java SortedSet为什么可以实现自动排序?

    C#

                SortedSet<int> ts = new SortedSet<int>
                {
                    11,
                    1,
                    13
                };
                //ts.Add(13); 重复的数据不会插入 也不会报错
                int it =ts.Count;
                while (it-- >0)
                {
                    Console.Write("  " + ts.ElementAt(it) + "  ");
                }
                Console.ReadLine();
    

    输出: 13 11 1

    展开全文
  • sortedset

    2014-07-01 14:55:41
    sortedset 是有序set,已经实现类有两个treeset concurrent

    sortedset 是一个接口,已经实现类有两个treeset和concurrentskiplistset,sortedset中的所有元素必须实现comparable接口。

    sortedset 是有序set,按自然顺序或者构造方法是提供的comparator进行排序。

    sortedset 要求实现类至少提供四种构造方法:不带参数、带一个comparator参数、带一个collection参数、带一个sortedset参数。

    接口方法:

    comparator():返回此set的比较器。

    first():返回set中的第一个元素

    last();返回set中的最后一个元素

    headset(E e):返回一个新的sortedset,所有元素均严格少于e

    tailset(E e):返回一个新的sortedset,所有元素均不少于e

    subset(E begin, E end);返回一个新的sortedset,包括begin,不包括end。

     

    headSet,taliSet,subSet三个方法返回的子sortedset是一个视图,但它们的修改就是对父sortedset的修改。

    treeset的内部有一个map,set的元素实际是存储在map中。

    package util;  
      
    import java.util.Iterator;  
    import java.util.SortedSet;  
    import java.util.TreeSet;  
      
    /** 
     * 
     * @author yjmao 
     * @deprecated SortedSet的常用方法小结 
     * @version V1.0.0 
     * @see 这些元素使用其自然顺序进行排序,或者根据通常在创建有序 set 时提供的 Comparator 进行排序。 
     */  
    public class LearnSortedSet {  
        public static void main(String[] args){  
            //easyMethod();  
            //hardMethod();  
              
            //直接定义的话是错的,因为HashSet是无序的,而SortedSet是有序的  
            //SortedSet<String> setH = new HashSet<String>();  
            SortedSet<String> set = new TreeSet<String>();  
            set.add("aaa");  
            set.add("bbb");  
            set.add("ccc");  
            set.add("ddd");  
            set.add("eee");  
            Iterator<String> iterator = set.iterator();  
            while(iterator.hasNext()){  
                String s = iterator.next();  
                System.err.print(s + ",");  
            }  
              
            //first():返回此 set 中当前第一个(最低)元素。  
            String fe = set.first();  
            System.err.println("\n第一个元素:" + fe);  
              
            //last():返回此 set 中当前最后一个(最高)元素。  
            String le = set.last();  
            System.err.println("最后一个元素:" + le);  
              
            //headSet():返回此 set 的部分视图,其元素严格小于 toElement。  
            System.err.print("集合中小于ccc(不包括)的元素:");  
            SortedSet<String> headE = set.headSet("ccc");  
            Iterator<String> iteratorH = headE.iterator();  
            while(iteratorH.hasNext()){  
                String s = iteratorH.next();  
                System.err.print(s + ",");  
            }  
              
            //tailSet():返回此 set 的部分视图,其元素大于等于 fromElement。  
            System.err.print("\n集合中大于ccc(包括)的元素:");  
            SortedSet<String> tailE = set.tailSet("ccc");  
            Iterator<String> iteratorE = tailE.iterator();  
            while(iteratorE.hasNext()){  
                String s = iteratorE.next();  
                System.err.print(s + ",");  
            }  
              
            //subSet():返回此 set 的部分视图,其元素从 fromElement(包括)到 toElement(不包括)。  
            System.err.print("\n集合中在ccc(包括)和eee(不包括)之间的元素:");  
            SortedSet<String> subE = set.subSet("ccc", "eee");  
            Iterator<String> iteratorT = subE.iterator();  
            while(iteratorT.hasNext()){  
                String s = iteratorT.next();  
                System.err.print(s + ",");  

    }

    }

    }


    展开全文
  • Java SortedSet 接口在本教程中,我们将通过一个示例来学习Java中的SortedSet接口及其方法。Java Collections框架的SortedSet接口用于在集合中以某种顺序存储元素。它继承了Set接口。实现SortedSet的类为了使用...

    Java SortedSet 接口

    在本教程中,我们将通过一个示例来学习Java中的SortedSet接口及其方法。

    Java Collections框架的SortedSet接口用于在集合中以某种顺序存储元素。

    它继承了Set接口。

    82987348445e0db562b2bb209ed6f504.png

    实现SortedSet的类

    为了使用SortedSet接口的功能,我们需要使用实现它的TreeSet类。

    ab57e3ce35fe3d7315ebb4d012d6a2d1.png

    如何使用SortedSet?

    要使用SortedSet,我们必须先导入java.util.SortedSet包。

    //通过TreeSet类实现SortedSet

    SortedSet animals = new TreeSet<>();

    我们animals使用TreeSet类创建了一个排序集。

    在这里,我们没有使用任何参数来创建排序集。 因此,该集合将自然排序。

    SortedSet的方法

    SortedSet接口包括Set接口的所有方法。这是因为Set是的SortedSet超级接口。

    除了Set接口中包含的方法之外,SortedSet接口还包括以下方法:comparator() - 返回一个比较器,可用于对集合中的元素进行排序

    first() - 返回集合的第一个元素

    last() - 返回集合的最后一个元素

    headSet(element) - 返回指定元素之前的所有元素

    tailSet(element) - 在指定元素之后(包括指定元素)返回集合中的所有元素

    subSet(element1,element2) - 返回element1和element2之间的所有元素,包括element1

    TreeSet类中SortedSet的实现

    示例

    import java.util.SortedSet;

    import java.util.TreeSet;

    class Main {

    public static void main(String[] args) {

    //使用TreeSet创建SortedSet

    SortedSet numbers = new TreeSet<>();

    //将元素插入set集合

    numbers.add(1);

    numbers.add(2);

    numbers.add(3);

    numbers.add(4);

    System.out.println("SortedSet: " + numbers);

    //访问元素

    int firstNumber = numbers.first();

    System.out.println("First Number: " + firstNumber);

    int lastNumber = numbers.last();

    System.out.println("Last Number: " + lastNumber);

    //删除元素

    boolean result = numbers.remove(2);

    System.out.println("数字2被删除了吗? " + result);

    }

    }

    输出结果SortedSet: [1, 2, 3, 4]

    First Number: 1

    Last Number: 4

    数字2被删除了吗? true

    要了解更多信息TreeSet,请访问Java TreeSet。

    既然我们已经知道了SortedSet接口,我们将使用TreeSet类学习其实现。

    展开全文
  • SortedSet接口

    2020-04-02 23:30:59
    SortedSet接口第1部分 SortedSet接口介绍第2部分 SortedSet接口数据结构第3部分 SortedSet接口源码解析(基于JDK-8u201) 第1部分 SortedSet接口介绍 SortedSet接口简介 SortedSet接口实现了Set接口,因此具有Set, ...

    第1部分 SortedSet接口介绍

    SortedSet接口简介

    SortedSet接口实现了Set接口,因此具有Set, Collection,Iterable接口的所有方法属性。
    SortedSet接口使用指定的比较器来排序,同时提供获取首尾元素,指定范围集合的方法。

    SortedSet接口常用API

    修饰语和返回类型 方法 描述
    Comparator<? super E> comparator() 获取比较器
    SortedSet subSet(E fromElement, E toElement) 返回值范围为[fromElement,toElement)范围的子集
    SortedSet headSet(E toElement) 返回值小于的toElement子集
    SortedSet tailSet(E fromElement) 返回值大于或等于fromElement的子集
    E first() 获取当前集合的首元素
    E last() 获取当前集合的尾元素
    default Spliterator<E> spliterator() 获取可分割迭代器

    根据这些API可知,只需要记住SortedSet获取范围是左闭右开即可。

    第2部分 SortedSet接口数据结构

    SortedSet接口的继承关系

    java.lang.Object
       ↳   java.lang.Iterable<E>
       		↳   java.util.Collection<E>
       			↳   java.util.Set<E>
       				↳   
    
    public interface SortedSet<E> extends Set<E> {}
    

    SortedSet接口的关系图
    在这里插入图片描述
    图1 SortedSet接口的关系图

    第3部分 SortedSet接口源码解析(基于JDK-8u201)

    以下方法的含义在前面已经说明,下面主要分析重写的方法。

    public interface SortedSet<E> extends Set<E> {
        Comparator<? super E> comparator();
        SortedSet<E> subSet(E fromElement, E toElement);
        SortedSet<E> headSet(E toElement);
        SortedSet<E> tailSet(E fromElement);
        E first();
        E last();
        @Override
        default Spliterator<E> spliterator() {
        	//设置特征码为DISTINCT|SORTED|ORDERED,表明每个元素都是不同,并且是有序的
            return new Spliterators.IteratorSpliterator<E>(
                    this, Spliterator.DISTINCT | Spliterator.SORTED | Spliterator.ORDERED) {
                //指定比较器为SortedSet实例对象的比较器
                @Override
                public Comparator<? super E> getComparator() {
                    return SortedSet.this.comparator();
                }
            };
        }
    }
    

    以上代码比较简单,使用了模板方法的涉及模式,让子类来指定比较器。然而有一个需要注意的地方,就是SortedSet.this,这是一种比较有意思的方式,用来获取具体实例对象。

    展开全文
  • SortedSet集合

    2020-08-13 23:55:12
    java.util.SortedSet;无序不可重复,凡是存进去的元素可以按照元素的大小顺序自动排序 java.util.TreeSet; */ public class SortedSetTest01{ public static void main(String[] args){ //创建集合 ...
  • 一、 TreeSetTreeSet是集合的一种,与HashSet不同的是他是有序的,也就是说TreeSet中的数据是有序不重复的.TreeSet 实现了SortedSet 这个接口。由于TreeSet是SortedSet 的一个子类,因此TreeSet具有SortedSet的所公共...
  • SortedSet是个接口,它里面的(只有TreeSet这一个实现可用)中的元素一定是有序的。声明的主要接口Public MethodsabstractComparator super E>comparator()Returns the comparator used to compare elements in ...
  • m in the middle of trying to clean up the <code>SortedSet</code> code. Over ...
  • SortedSet操作

    2018-09-25 13:31:00
    原文链接:http://doc.redisfans.com/sorted_set/index.html  SortedSet的数据结构类似于Set,不同的是Sorted中的每个成员都分配了一个值(Score)用于对其中的成员进行排序(升序)。 zadd key score member[...
  • 关于SortedSet首先,我们都知道Redis的SortedSet是可以根据score进行排序的,以手机应用商店的热门榜单排序为例,根据下载量倒序排列,其简单用法如下:对SortedSet做一下简单总结:默认升序排列,即通过命令ZRANGE...
  • SortedSet和TreeSet

    2018-11-10 07:24:18
    SortedSet和TreeSet
  • SortedSet接口的size()方法用于获取SortedSet的大小或SortedSet中存在的元素数。用法:int size()参数:此方法不带任何参数。返回值:该方法返回SortedSet中存在的元素的大小或数量。注意:SortedSet中的size()方法是...
  • TreeSet实现了SortedSet接口package iotest;import java.util.SortedSet;import java.util.TreeSet;public class sset {public static void main(String args[]){SortedSet alls=new TreeSet();alls.add("A");alls....
  • 今天来看一下Set中的SortedSet的有关内容(SortedSet为TreeSet的实现接口),它们之间的继承关系如下:java.util.Set;java.util.SortedSet;java.util.TreeSet;SortedSet中的元素无序不可重复,但是存进去的元素可以...
  • 阅读this Oracle教程我偶然发现了List的范围视图操作与SortedSet接口提供的操作之间差异的解释.这有点兴趣:The range-view operations are somewhat analogous to those provided bythe List interface, but there ...
  • Java集合-SortedSet

    2020-09-03 10:33:20
    SortedSet(java.util.SortedSet)是Set接口的子类,Sortedset接口的行为类似于普通Set,但它包含的元素是在内部排序的, 这意味着,当迭代SortedSet的元素时,这些元素将按排序的顺序进行迭代。 SortedSet的实现...
  • java集合SortedSet

    2019-08-22 11:38:10
    SortedSet<String> sortedTreeSet = new TreeSet<String>(); // SortedSet接收TreeSet的实例 // 增加元素 sortedTreeSet.add("aa"); sortedTreeSet.add("bb"); sortedTreeSet.add...
  • Java 集合框架SortedSet是集合框架中的接口。此接口扩展了Set并提供其元素的总排序。实现此接口的Exampled类是TreeSet。SortedSet的所有元素都必须实现Comparable接口(或者被指定的Comparator接受),并且所有这些...
  • TreeSet实现了SortedSet,他是具有排序的集合,所以放入其中的元素必须可以比较大小,因而,只能放同种类型的元素当放入的元素为同种类型,但不能比较大小是,需要重写Comparator接口的compare方法来,指定自己的...
  • /*** SortedSet(有序集合)* ZADD,ZCARD,ZCOUNT,ZINCRBY,ZRANGE,ZRANGEBYSCORE,ZRANK,ZREM,ZREMRANGEBYRANK,ZREMRANGEBYSCORE,ZREVRANGE* ZREVRANGEBYSCORE,ZREVRANK,ZSCORE,ZUNIONSTORE,ZINTERSTORE,ZSCAN,...
  • TreeSet和SortedSet

    千次阅读 2018-03-19 14:32:07
    这两天写接口,看到对方提供的接口,签名生成方法里,写到SortedSet和TreeSet,所以查了点资料,看了一下treeset,总结一下,避免以后忘记。首先,最重要的,就是有序。SortedSet继承自Set,他根据对象的比较顺序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,020
精华内容 1,208
热门标签
关键字:

sortedset