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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

集合总结:


        单列集合:
                Collection(接口):
                        |--List(接口):
                                List集合的特点:有序,可重复
                                List集合的子类:
                                        |--ArrayList:底层是数组结构,查询快,增删慢
                                                |--ArrayList中常用的方法:
                                                        |-- boolean  add(E e) :添加元素到集合的尾部(返回值为boolean类型,代表是否添加成功)
                                                        |-- E  get(int index) :根据索引获取指定位置的元素
                                                        |-- set(int index, E element) :将元素添加到指定的索引位置,其他位置的元素依次后移
                                                        |--boolean  contains(Object o) :判断集合中是否包含指定元素(返回值为boolean类型,代表是否包含此元素)
                                        |--LinkedList:底层是链表结构,查询慢,增删快
                        |--Set(接口):
                                Set集合的子类:
                                        |--HashSet:底层是哈希表结构,无序不可重复
                                                |--HashSet中常用的方法:
                                                        |--boolean  add(E e):添加元素,E代表泛型(返回值为boolean类型,代表是否添加成功)
                                                        |-- boolean  remove(Object o):删除元素(返回值为boolean类型,代表是否删除成功)
                                                        |-- boolean  contains(Object o) :判断是否包含指定元素(返回值为boolean类型,代表是否包含此元素)
                                                        |--Iterator<E>  iterator() :获取迭代器对象(返回值是一个迭代器对象,可以用来遍历集合)
                                                                |--迭代器对象中常用的方法:
                                                                        |--boolean  hasNext() :如果仍有元素可以迭代,则返回 true。
                                                                        |--E  next():返回迭代的下一个元素。(E代表迭代器的泛型,即集合的泛型)
                                                |--如何保证元素唯一性的呢?
                                                        由hashCode()和equals()保证的:
                                                                首先比较哈希值是否相同
                                                                        相同:继续执行equals()方法
                                                                                返回true:元素重复了,不添加
                                                                                返回false:直接把元素添加到集合
                                                                        不同:就直接把元素添加到集合               
                                        |--LinkedHashSet:链表结构+Hash表结构,链表结构保证有序,哈希表结构保证不重复,所以LinkedHashSet是有序,不可重复的
                                       
        双列集合:
                Map(接口):
                        Map集合的特点:存储的是键值对形式的元素,键唯一,值可以重复。
                        Map集合的子类:
                                |--HashMap:底层是哈希表结构,无序、不可重复
                                        |--HashMap中常用的方法:
                                                |--put(K key, V value) :向Map集合中添加键值对
                                                |--get(Object key):根据指定的键获取对应的值
                                        |--遍历HashMap集合的两种方式:
                                                A:键找值
                                                        a:获取所有键的集合
                                                        b:遍历键的集合,得到每一个键
                                                        c:根据键到集合中去找值
               
                                                B:键值对对象找键和值
                                                        a:获取所有的键值对对象的集合
                                                        b:遍历键值对对象的集合,获取每一个键值对对象
                                                        c:根据键值对对象去获取键和值
                       
                                                代码体现:
                                                        Map<String,String> hm = new HashMap<String,String>();
                                                       
                                                        hm.put("it002","hello");
                                                        hm.put("it003","world");
                                                        hm.put("it001","java");
                                                       
                                                        //方式1 键找值
                                                        Set<String> set = hm.keySet();
                                                        for(String key : set) {
                                                                String value = hm.get(key);
                                                                System.out.println(key+"---"+value);
                                                        }
                                                       
                                                        //方式2 键值对对象找键和值
                                                        Set<Map.Entry<String,String>> set2 = hm.entrySet();
                                                        for(Map.Entry<String,String> me : set2) {
                                                                String key = me.getKey();
                                                                String value = me.getValue();
                                                                System.out.println(key+"---"+value);
                                                        }
                Properties:(Hashtable的子类)
                        Properties集合的特点:唯一一个跟流有关的集合,键和值都是String类型,常用于读取配置文件
                                |--Properties中常用的方法:
                                        |--特有方法:
                                                |--Object setProperty(String key,String value):向Properties集合中添加键值对
                                                |--String getProperty(String key):根据指定的键获取对应的值
                                                |--Set<String> stringPropertyNames():获取到所有键的集合
                                        |--和IO流结合的方法
                                                |--把键值对形式的文本文件内容加载到集合中
                                                        |--public void load(Reader reader)
                                                        |--public void load(InputStream inStream)

                                                |--把集合中的数据存储到文本文件中
                                                        |--public void store(Writer writer,String comments)
                                                        |--public void store(OutputStream out,String comments)

5 个回复

倒序浏览
很全面.可收藏
回复 使用道具 举报

小伙子,不要总熬夜,注意身体
回复 使用道具 举报

小伙子,不要总熬夜,注意身体
回复 使用道具 举报
回复 使用道具 举报
恩,分享了很多呢,多看看吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马