A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 499827204 初级黑马   /  2016-4-19 10:55  /  626 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        List        有序,可以存储重复元素,有索引。
                ArrayList
                        底层是数组结构,线程不安全,效率高,查询快,增删慢。
                LinkedList
                        底层是链表结构,线程不安全,效率高,增删快,查询慢。
                Vector
                        底层是数组结构,线程安全,效率低,查询快(没有ArrayList快),增删慢(比ArrayList还慢)。               
        Set
                HashSet
                        存储无序,底层是哈希表结构(hash算法),元素唯一,通过重写hashCode方法和equals方法来实现元素唯一。
                        LinkedHashSet 存储有序
                TreeSet
                        存储无序,底层是二叉树结构,元素唯一,元素排序,通过两种方式:1.让存储的对象对应的类实现自然排序接口,重写comparaTo方法
                                                                                      2.在创建集合对象时,传递一个比较器,重写compara方法
普通for循环加上get()方法
通过迭代器来遍历
增强for循环
Map        存储 键 值
        HashMap
                键唯一,保证键唯一需要重写键对应类的hashCode方法和equals方法。
                LinkedHashMap
                        底层是链表实现的可以保证怎么存就怎么取
        TreeMap
                键唯一,根据其键的自然顺序进行排序(键对应的类实现自然排序接口 Comparable 接口),
                或者根据集合时的 Comparator 进行排序(比较器)。
          a:添加功能
                  V put(K key,V value):添加元素。
                          如果键是第一次存储,就直接存储元素,返回null
                          如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
          b:删除功能
                  void clear():移除所有的键值对元素
                  V remove(Object key):根据键删除键值对元素,并把值返回
          c:判断功能
                  boolean containsKey(Object key):判断集合是否包含指定的键
                  boolean containsValue(Object value):判断集合是否包含指定的值
                  boolean isEmpty():判断集合是否为空
          d:获取功能
                  Set<Map.Entry<K,V>> entrySet():
                  V get(Object key):根据键获取值
                  Set<K> keySet():获取集合中所有键的集合
                  Collection<V> values():获取集合中所有值的集合
          e:长度功能
                  int size():返回集合中的键值对的个数
HashMap和Hashtable的区别
                  Hashtable是JDK1.0版本出现的,是线程安全的,效率低,
                  HashMap是JDK1.2版本出现的,是线程不安全的,效率高
                  Hashtable不可以存储null键和null值,
                  HashMap可以存储null键和null值
Collections 集合工具类
                public static <T> void sort(List<T> list)        排序,T必须是实现自然排序接口的类
                public static <T> int binarySearch(List<?> list,T key)        二分查找
                public static <T> T max(Collection<?> coll)                获取最大值,或者是排序后最后一个值
                public static void reverse(List<?> list)                集合反转
                public static void shuffle(List<?> list)                随机置换


<? extends E>  :E或者E的子类
<? super E>        :E类型或者E的父类

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马