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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ycbin 初级黑马   /  2017-12-4 19:04  /  3714 人查看  /  38 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

集合小总结:
1、集合体系:
集合:单列集合(Collection
                                   List: 有索引,可以重复,存取有序
                    ArrayList:底层是数组
                                       LinkedList:底层是链表
                              Set: 没有索引,元素唯一,存储无序
                                  HashSet:元素唯一,存储无序
                                                       LinkedHashSet元素唯一,存取有序
          双列集合(Map<K,V>
HashMap:键唯一,值任意,存储无序
LinkedHashMap:键唯一,值任意,存储有序
Hashtable:键与值可以为Null
Properties:键与值都是String类型,一般与IO结合使用
2、集合中的方法:
   2.1单列集合:
            2.1.1 Collection接口
                  boolean add(Object e) 添加元素
                 int size()                       获取集合的长度
                            void clear()          清空元素
                            boolean contains(Object o) 判断集合中是否包含指定的元素
                            boolean isEmpty()      判断集合是否为空
                            boolean remove(Object o)        删除指定的元素
                            Object[] toArray()       将集合转换成Object类型的数组
<T> T[] toArray(T[] a)  将集合转换成指定类型的数组
                            Iterator iterator() 获取迭代器对象
             2.1.1.1List接口
                  void add(int index, Eelement)  在指定位置上添加指定的元素
                            E get(int index)   获取指定位置的元素
                            E remove(int index)    删除指定位置的元素
                            E set(int index, E element)         修改指定位置的元素
                            ListIterator<E> listIterator()获取列表迭代器(解决并发修改异常)
            2.1.1.1.1 ArrayList实现类的方法参考List接口方法
            2.1.1.1.2 LinkedList实现类
void addFirst(E e)  在最前面添加元素
                           void addLast(E e) 在最后面添加元素
                            E getFirst()       获取第一个元素
                            E getLast()       获取最后一个元素
                           E removeFirst() 删除第一个元素
                            E removeLast()   删除最后一个元素
        2.1.2 Set接口、HashSet 实现类、LinkedHashSet实现类的方法使用参考Collection接口方法即可。
2.2双列集合:
        2.2.1       Map常用功能
        V put(K key, V value) :以键=值的方式存入Map集合
        V get(Object key):根据键获取值
int size():返回Map中键值对的个数
        booleancontainsKey(Object key):判断Map集合中是否包含键为key的键值对
        boolean containsValue(Object value):判断Map集合中是否包含值为value键值对
boolean isEmpty():判断Map集合中是否没有任何键值对
        void clear():清空Map集合中所有的键值对
        Vremove(Object key):根据键值删除Map中键值对
        Set<Map.Entry<K,V>> entrySet():将每个键值对封装到一个个Entry对象中,再把所有Entry的对象封装到Set集合中返回
        Set<K>keySet() :Map中所有的键装到Set集合中返回
        Collection<V>values():返回集合中所有的value的值的集合
         2.2.1.1 HashMapLinkedHashMap参考Map接口即可
   2.2.2Hashtable的实现类Properties
与IO流结合的特有方法(对配置文件的读与写):
void list(PrintStream out) 将属性列表输出到指定的输出流(不常用)。
void list(PrintWriter out)  将属性列表输出到指定的输出流(不常用)。
void load(InputStreaminStream) 从输入流中读取属性列表。
void load(Reader reader)从输入字符流中读取属性列表
void store(OutputStream out, String comments)将此 Properties表中的属性列表写入输出流。
void store(Writer writer, String comments)将此 Properties表中的属性列表写入输出字符。
ObjectsetProperty(String key, String value)  调用 Hashtable 的方法 put。
String getProperty(Stringkey) 用指定的键在此属性列表中搜索属性。
Set<String>stringPropertyNames()  返回此属性列表中的键集
3.集合的遍历
  3.1单列集合:
          List:转数组,普通for ,增强for,迭代器
          Set: 转数组,增强for,迭代器
  3.2 双列集合:一、获取所有的key,通过key来获取value
Set<String> keys = hm.keySet();
                  for (Stringkey : keys) {
                          Stringvalue = hm.get(key);
                          System.out.println(key+ "=" + value);
                  }
                二、获取所有的结婚证对象,然后通过结婚证对象获取丈夫和媳妇
                   Set<Map.Entry<String,String>> entrys = hm.entrySet();
                               for (Map.Entry<String,String> entry : entrys) {
                                         String key = entry.getKey();
                                         String value = entry.getValue();
                                         System.out.println(key +"=" + value);
                               }

38 个回复

正序浏览
感谢分享   老铁
回复 使用道具 举报
点赞,总结 的很全面,自己还得好好努力啊
回复 使用道具 举报
Lust 初级黑马 2017-12-7 23:04:19
36#
文本整洁,词汇清晰,详细的有点让人看不下去,已收藏为笔记的一部分
回复 使用道具 举报
骑士冈布奥 来自手机 初级黑马 2017-12-7 13:38:58
35#
又是一波复习,我好不努力啊。。。
回复 使用道具 举报
总结的真好,看了很有帮助
回复 使用道具 举报
870263491 来自手机 初级黑马 2017-12-7 08:50:38
33#
ycbin 发表于 2017-12-4 19:04
集合小总结:1、集合体系:集合:单列集合(Collection)                                   List: 有索引 ...

集合的系统整理很棒
回复 使用道具 举报
870263491 来自手机 初级黑马 2017-12-7 08:50:07
32#
集合的系统整理,有条理很棒
回复 使用道具 举报
回复 使用道具 举报
不错,带大家回顾了一下以前的知识点。
回复 使用道具 举报
有细心的同学发现了问题哦,大家看帖子也要细心哦
回复 使用道具 举报
很多集合的内容都忘的差不多了,正好有个帖子能帮着复习一下
回复 使用道具 举报
还挺不错的让我回想起了当初的内容
回复 使用道具 举报
demo_jean 来自手机 初级黑马 2017-12-6 07:56:28
26#
map集合的设计者,太牛了。
回复 使用道具 举报
总结的比较全面,也是我们应该掌握的,挺有用的
回复 使用道具 举报
潘慧峰 来自手机 初级黑马 2017-12-5 23:36:05
24#
总结的很全面。什么时候需要使用什么一看便知。赞
回复 使用道具 举报
有一些地方都忘了啊 ,比如遍历集合这,貌似每次都是用keySet()  很少用entrySet(),导致刚上边看到 entrySet() 这个的时候一下就蒙住了,看了半天才反应过来,还有个问题,是向Map集合中添加元素时如果出现相同的键,就会用后一次添加的值把前一次添加的值覆盖掉,是这样吧
回复 使用道具 举报
很详细的笔记啊,看完收获很多,觉得自己也是时候回头看看了,真的忘记了很多,多到想不起来有多少了,谢谢同学辛苦的内容分享给大家
回复 使用道具 举报
Hashtable:键与值可以为Null  这个在什么地方会用到啊
回复 使用道具 举报
都有点忘记了 ,看了一遍很有帮助
回复 使用道具 举报
看着对自己很有帮助
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马