1. 程式人生 > >第十五章 接口和集合

第十五章 接口和集合

特性 抽象 nts 子類 列表 方式 靜態常量 eem ins

1. 接口的關鍵字:interface

2. 接口的特性:
  1)接口屬性都是靜態常量
  2)方法都是抽象方法
  3)實現類必須實現接口的所有方法
  4)實現類可以實現多個接口
  5)接口不能被實例化,沒有構造方法
  6)接口中的方法不能私有化

3. 實現的關鍵字:implements

4. 子類和父類是is a 的關系
實現類和接口是has a 的關系

5. 集合:可以存放一組不同或相同類的數據。

6. 接口:   collection
      List           Set  
類 Arraylist LinkedList    HashSet TreeSet
          Map
      HashMap TreeMap

7. Collection List Set Map的區別
  Collection接口儲存一組不唯一,無序的對象
  List接口儲存一組不唯一,有序(插入順序)的對象
  Set接口儲存一組唯一,無序的對象
  Map接口儲存一組鍵值對象,提供key到value的映射

8. ArrayList:遍歷元素、訪問元素 List lst=new ArrayList();
LinkedList:插入、刪除元素 List lkt=new LinkedList();

9. ArrayList方法:
  add(Object)   添加元素 doglst.add(dog1);
  size()      獲取集合長度 int size=doglst.size();
  get(index)    獲取下標為index的元素,返回Object類型 Dog d=(Dog) doglst.get(i);
  remove(index) 刪除下標為index的元素 doglst.remove(1);
  remove(Object) 從集合中刪除Object此對象 if(doglst.contains(dog1)){

                        doglst.remove(dog1);
                        System.out.println("刪除成功");
                      }else{
                        System.out.println("此對象不存在");
                      }

10. LinkedList的特殊方法
  void addFirst(Object o)   在列表的首部添加元素
  void addLast(Object o)   在列表的末尾添加元素
  Object getFirst()       返回列表中的第一個元素
  Object getLast()      返回列表中的最後一個元素
  Object removeFirst()    刪除並返回列表中的第一個元素
  Object removeLast()    刪除並返回列表中的最後一個元素

11. 集合框架的優點:
  方便增、刪、改、查

12. HashMap類以鍵值對的形式保存數據 Map countries=new HashMap();
  put(key,value);   添加元素 countries.put("CN","中國");
  remove(key);   根據key來刪除元素 countries.remove("JP");
  get(key);      根據key來獲取相應的value String cn=(String) countries.get("CN");
  keySet();     獲取所有的鍵 System.out.println(countries.keySet());
  values();      獲取所有的值 System.out.println(countries.values());
  集合對象 ;     獲取鍵值集合 System.out.println(countries);

13. 註意:key是唯一的,value可以不唯一的。

14. Map接口常用方法
  Object put(Object key, Object val)   以“鍵-值對”的方式進行存儲
  Object get (Object key)        根據鍵返回相關聯的值,如果不存在指定的鍵,返回null
  Object remove (Object key)     刪除由指定的鍵映射的“鍵-值對”
  int size()              返回元素個數
  Set keySet ()            返回鍵的集合
  Collection values ()         返回值的集合
  boolean containsKey (Object key)  如果存在由指定的鍵映射的“鍵-值對”,返回true

15. List接口常用方法
  boolean add(Object o)    在列表的末尾順序添加元素, 起始索引位置從0開始
  void add(int index,Object o) 在指定的索引位置添加元素。 索引位置必須介於0和列表中元素 個數之間
  int size()         返回列表中的元素個數
  Object get(int index)      返回指定索引位置處的元素。取出的元素是Object類型,使用前 需要進行強制類型轉換
  boolean contains(Object o) 判斷列表中是否存在指定元素
  boolean remove(Object o)  從列表中刪除元素
  Object remove(int index)   從列表中刪除指定位置元素, 起始索引位置從0開始

16 . System.out.println("使用Iterator遍歷,所有企鵝的昵稱和品種是:");
    //獲取key集
    Set keyset=pemguin.keySet();
    //創建叠代器對象
    Iterator iterator=keyset.iterator();
    while(iterator.hasNext()){
      String currenrykey=(String) iterator.next();
      Test pen=(Test) pemguin.get(currenrykey);
      System.out.println(pen.getName()+"\t"+pen.getStrain());
    }

增強for遍歷:System.out.println("使用增強for循環遍歷狗狗的信息:");
  for (Object k:keyset) {
    Dog d=(Dog)dogmap.get(k);
    System.out.println(d.getName()+"\t"+d.getPinz());
  }

17. 泛型集合:
  Map<Integer, Test> pemguin=new HashMap();
  List<Penguin> penguin=new ArrayList<Penguin>();

第十五章 接口和集合