亮亮小二吧 关注:4贴子:155

回复:亮亮我是来水帖的,你揍开。。。

只看楼主收藏回复

class TreeSet<Object>
default Comparator comparator(){}
default Object first(){}
default Object last(){}
default Object lower(Object o){}
default Object higher(Object o){}
default SortedSet subSet(Object fromElement, Object toElement){}
default SortedSet headSet(Object toElement){}
default SortedSet tailSet(Object fromElement){}


101楼2016-10-21 19:43
回复
    Comparable 是被java各种类型数据普遍实现的一个接口,通过对该接口的compareTo()方法的实现,来解决有序集合的对象元素大小比较问题。
    TreeSet默认使用升序排列(自然排列),加入TreeSet的对象都必须实现Comparable接口,必须是同一个类的对象,否则会引起异常。TreeSet通过equals(){}和compareTo(){}共同判断元素是否相等。
    创建TreeSet实例实际上是创建了一个引用集合,在TreeSet中保存了所有添加进来的对象引用,当重复添加相同的对象引用,且两次判断结果不相等时,将会创建两个引用分别指向同一个对象。
    令equals()返回true,compareTo()返回false,将在集合的不同bucket中存入相同值的对象,
    令equals()返回false,compareTo()返回true,将在集合的相同bucket中存入不同值的对象,
    通过改变TreeSet集合对象的属性值的方法导致集合内对象大小顺序发生改变的,TreeSet不会再次调整。


    102楼2016-10-21 21:40
    回复
      2025-05-29 23:49:21
      广告
      定制排序
      TreeSet除自然排序外也提供定制排序
      TreeSet集合重载一个含参构造器,提供一个实现Comparator接口的内部类,用以比较对象元素的大小。
      定制排序不需要加入的元素对象实现Comparable接口。


      103楼2016-10-21 22:29
      回复
        EnumSet
        依赖于枚举类,其对象元素为枚举类内部类对象。有序,依照枚举类中枚举值定义顺序排列。不允许null值。是单例类,即构造器权限Private由静态方法提供类对象。


        104楼2016-10-21 22:52
        回复
          Class EnumSet<E extends Enum<E>>
          --default static EnumSet allOf(Class elementType){}
          --default static EnumSet complementOf(EnumSet s){}
          --default static EnumSet copyOf(Collection c){}
          --default static EnumSet copyOf(EnumSet s){}
          --default static EnumSet noneOf(Class elementType){}
          --default static EnumSet of(E first, E... rest){}
          --default static EnumSet range(E from, E to){}


          105楼2016-10-21 23:13
          回复
            List 有序集合,按元素添加顺序设置索引,依据索引操作集合是List与Set的区别
            Interface List<Object>
            --public abstract void add(int index, Object element){}
            --public abstract boolean addAll(int index, Collection c){}
            --public abstract Object get(int index){}
            --public abstract int indexOf(Object o){}
            --public abstract int lastIndexOf(Object o){} 通过equals(){}判断对象
            --public abstract Object remove(int index){}
            --public abstract Object set(int index, Object element){}不改变集合长度
            --public abstract List subList(int fromIndex, int toIndex){}
            --public abstract Iteraor<E> iterator(){}
            Interface ListIterator<E> extend Iterator<E>
            --public abstract boolean hasPrevious(){}
            --public abstract Objec previous(){}反向迭代
            --public abstract void add(){}在当前元素后添加


            106楼2016-10-22 11:44
            回复
              ArrayList与Vector实现了List
              基于数组;使用capacity属性表示数组长度,实现数组可变;使用ensureCapacity一次性增加数组长度,提高性能。
              Class ArrayList<E>
              --default void ensureCapacity(int minCapacity){}
              --default void trimToSize(){}适应列表长度
              Class Stack<E> extend Vector
              --default Object peek(){}
              --default Object pop(){}
              --default void push(Object item){}


              107楼2016-10-22 12:47
              回复
                Arrays
                --public static Arrays.ArrayList asList(){}
                Arrays.ArrayList是固定长度List不允许增、删操作。


                108楼2016-10-22 12:50
                回复
                  2025-05-29 23:43:21
                  广告
                  Queue模拟队列的接口,不允许访问队列中除头元素以外的元素,仅允许从队列尾部添加新元素
                  Interface Queue<E>
                  --public abstract void add(Object o){}
                  --public abstract boolean offer(Object o){}
                  --public abstract Object remove(Object o){}
                  --public abstract Object poll(Object o){}空队列返回null
                  --public abstract Object element(){}
                  --public abstract Object peek(){}空队列返回null


                  109楼2016-10-22 13:03
                  回复
                    LinkedList双向有序队列 实现List接口 实现Deque接口(Deque继承Queue接口)
                    Class LinkedList<E>
                    default void addFirst(Object o){}
                    default void addLast(Object o){}
                    default Iterator descendingIterator(){}逆向迭代器
                    default Object getFirst(){}
                    default Object getLast(){}
                    default boolean offerFirst(Object o){}
                    default boolean offerLast(Object o){}
                    default Object peekFirst(){}
                    default Object peekLast(){}
                    default Object pollFirst(){}
                    default Object pollLast(){}
                    default Object pop(){}
                    default void push(Object o){}
                    default Object removeLast(){}
                    default removeLastOccurrence(Object o){}
                    访问集合时,ArrayList随机访问较快,LinkedList使用迭代器迭代,增删改时较快。


                    110楼2016-10-22 20:12
                    回复
                      PriorityQueue
                      非标准队列
                      队列的增加元素操作不从队列头插入,而按照队列元素大小重新排列。
                      有自然排序,定制排序两种方式


                      111楼2016-10-23 08:45
                      回复
                        Map
                        保存具有映射关系的键值对数据,key唯一,key与value一一对应,key以Set集合的方式保存
                        Interface Map<K,V>
                        --public abstract void clear(){}
                        --public abstract boolean containsKey(Object key){}
                        --public abstract boolean containsValue(Object value){}
                        --public abstract Set entrySet(){}
                        --public abstract Object get(Object key){}
                        --public abstract boolean isEmpty(){}
                        --public abstract Set keySet(){}
                        --public abstract Object put(Object key, Object value){}
                        --public abstract void putAll(Map m){}
                        --public abstract Object remove(Object key){}
                        --public abstract int size(){}
                        --public abstract Collection values(){}
                        Interface Map.Entry<K,V>
                        --public abstract Object getKey(){}
                        --public abstract Object getValue(){}
                        --public abstract Object setValue(V value){}


                        112楼2016-10-23 09:42
                        回复
                          Map&Map.Entry常用方法被吞标记


                          113楼2016-10-23 09:46
                          回复
                            Hashtable Map的一个早期版本的实现类,线程安全,不允许null
                            HashMap Map的实现类,线程不安全,允许null,判断key相等的条件与HashSet相同,判断value相等的条件是equals(){}返回true。遍历的方法是通过返回一个key的HashSet,增强for输出key,get()输出value


                            114楼2016-10-23 16:01
                            回复
                              2025-05-29 23:37:21
                              广告
                              LinkedHashMap 插入顺序,链表形式。
                              Properties Hashtable子类,连接属性文件读写键值对,仅支持字符串对象。
                              --default String getProperty(String key){}
                              --default String getProperty(String key, String defaultValue){}
                              --default Object setProperty(String key, String value){}
                              --default void load(InputStream inStream){}
                              --default void store(OutputStream out, String comments){}


                              115楼2016-10-23 19:21
                              回复