zoukankan      html  css  js  c++  java
  • core java collection温习

    接口

    队列接口可以在尾部添加, 在头部删除, 并返回元素个数,
    一个队列的最小接口可能类似如下

    public interface MyQueue<E> {
        void add(E element);
        E remove();
        int size();
    }
    

    队列实现可能有两个, 循环数组跟链表队列

    public class MyCircularArrayQueue<E> implements MyQueue<E> {
        private E[] elements;
        private int head;
        private int tail;
        MyCircularArrayQueue(int capacity) {...}
        @Override
        public void add(E e) {...}
        @Override
        public E remove() {...}
        @Override
        public int size() {...}
    }
    
    public class MyLinkedListQueue<E> implements MyQueue<E> {
        @Override
        public void add(E e) {...}
        @Override
        public E remove() {...}
        @Override
        public int size() {...}
        public MyLinkedListQueue() {...}
        private Link<E> head;
        private Link<E> tail;
        public class Link<E> {
            private E element;
            private Link<E> next;
        }
    }
    

    jdk类库中, 每种数据结构接口通常会对应一个Abstract类,
    这是类库设计者将一些通用的实现方法集成了, 方便框架设计

    集合类的基本接口是Collection

    • 扩展了Iterable接口,可以支持for each
    • Iterator, next() remove()方法都是操作的迭代器前面的那一个元素,
      这里与InputStream.read()方法有点类似
    • 迭代器访问顺序取决于集合顺序
    • Collection提供了一些需要实现的方法: iterator() add() addAll()
      remove() removeAll() contains() containsAll() retainAll()
      size() isEmpty() equals() clear() toArray()

    具体的集合

    • ArrayList
    • LinkedList
      ** 双向链接
    • ArrayDeque
    • HashSet
      ** LinkedHashSet
    • EnumSet
    • PriorityQueue
    • HashMap
      ** LinkedHashMap
    • TreeMap
    • EnumMap
    • WeakHashMap
    • IdentityHashMap
  • 相关阅读:
    silverlight 调用默认打印机
    拿来主意
    关于js智能提示的封装(修订版)
    silverlight 获取文本框焦点
    silverlight Timer
    winform 中写app.config文件时 调试情况下没有改变的原因
    关于asp:GridView和dx:ASPxGridView固定表头的jquery代码封装
    Microsoft Visual Studio 2010的前世今生
    游戏开发之我见
    JS中数组去重
  • 原文地址:https://www.cnblogs.com/simple-huang/p/8531418.html
Copyright © 2011-2022 走看看