JAVA基础:七、集合框架Util

一、新内容(Util包)ArrayList/LinkedList,Vector,HashSet,迭代器Iterator,自定义比较器,HashMap
 一、Java的集合框架的使用
 1、什么是集合框架?
   是一组类和接口,位于java.util包中,用来存储和管理对象,分为三大类:集合、列表、映射。
 2、集合的种类?
  三大类:集合、列表、映射。
  什么是集合(set):集合中的对象不按特定方式排序,并且没有重复对象。
  什么是列表(list):  集合中的对象按照索引位置排序,可以有重复对象。
  什么是映射(map):集合中的每一个元素包含一个键对象和一个值对象,键不可以重复,值可以重复。
 3、集合框架的结构?
 
  Collection--List--ArrayList
 4、
  ArrayList 对象是长度可变的对象引用数组,类似于动态数组
  继承 AbstractList 并实现 List 接口
  随着元素的添加,元素的数目会增加,列表也会随着扩展
  访问和遍历对象时,它提供更好的性能
  add()    方法添加数据
  get(下标)
  size()    集合的长度
  remove(下标)    移除当前元素
  clear()    清除所有元素。
 5、LinkedList:链表结构的集合
      链表 ,类似与ArrayList,但存储方式不相同(顺序排放与链表结构排放)
      构造函数 : LinkedList();       LinkedList(int length); 
      常用方法:基本等同于ArrayList
             addFirst() addLast()
             getFirst() getLast()
             removeFirst:移除第一个
             removeLast:移除最后一个
  区别:Arraylist:检索效率较高。LinkedList:删除和修改效率较高。
HashMap:是键值对的方式保存数据,没有索引。没有顺序。不能用重复的键。
 二、Collection接口
        1、Collection接口的常用方法:
                                          int size();
                                          boolean isEmpty();
                                          boolean add(E e);
                                          boolean remove(Object o);   
                                          void clear();
        2、由Collection接口派生的两个接口是List和Set。
 三、Set和HashSet的使用方法
       主要方法: add(),remove(),size(),clear();          contains(o) 判断是否包含对象o
       特点:不能添加重复对象。
       如何确定两个对象是否相同:除了equals方法返回为true,
        hashCode()方法返回值也必须相同,该返回值用来确定每个对象在set中的位置,
        只有相同才能保证会放到HashSet中的同一个位置。
        1、接口和实现接口和实现类:Collection--Set--HashSet
        2、代码示例:TestHashSet.java
        3、Set不保存重复的元素。
        4、Set : 存入Set的每个元素都必须是唯一的,因为Set不保存重复元素。
             加入Set的元素必须定义equals()方法以确保对象的唯一性。
             Set与Collection有完全一样的接口。Set接口不保证维护元素的次序。
        5、HashSet : 它不允许出现重复元素;不保证集合中元素的顺序,(没有索引没有键)
             可以自己做个例子可以看出加入的字段顺序跟遍历出的不一样,
             允许包含值为null的元素,但最多只能有一个null元素(不允许重复嘛!)。
 四、Iterator接口(迭代器:用于遍历整个Set)
       Set集合没有索引,不能使用get访问,但所有Collection的子类都能通过迭代器进行循环访问每个元素。
       1、主要方法: hasNext(); next();
       2、如何遍历Collection中的每一个元素?
  不论Collection的实际类型如何,它都支持一个iterator()的方法,
  该方法返回一个迭代器对象,使用该迭代器对象即可逐一访问Collection中每一个元素。
  典型的用法如下:
  Iterator it=collection.iterator();//获得一个迭代器对象
  while(it.hasNext()){
        Object obj=it.next();//得到下一个元素
  }
       3、代码示例:TestHashSet.java      
 五、Map类型集合:HashMap(HashMap是Map的实现类)
      1.与Collection集合不同,Map类型集合每个元素值都包含两个对象:键--值
          键在Map中不能有重复对象
      2.主要方法:
                put(key,value);
                size();
                remove(key);
                clear();
                containsKey(key) 判断是否包含键key
                containsValue(value)判断是否包含值value
  其中put方法若添加重复的键,则表示复盖原来的键的值。
      3.Map不存在索引,但同样可以实现循环访问:
  使用:keySet()或entrySet()
      4.代码示例:TestHashMap.java
 
 六、Collections 集合工具类
 java.lang.Object
   继承者 java.util.Collections
   常用方法(静态):sort(List) 给List类型的集合排序(排序类必须包含CompareTo方法)
                                    reverse(List) 将List类型的集合反转
 
发布了44 篇原创文章 · 获赞 7 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章