2017年2月3日 星期五

[JAVA複習] Collection函式庫

Collection:
為了將資料收集在一起,透過特定的方式來存取資料。
常用的介面有Set、List。

Collection介面

常用方法
  • add : 新增資料
  • remove:移除資料
  • contains:查詢物件是否在這個集合內
  • size:大小
  • isEmpty:是不是空的
  • toArray:回傳一個物件陣列


繼承Collection的介面

Set介面
  1. 沒有特定順序
  2. 資料不可以重複
  3. 除了繼承Collection下的方法,還可以用clear()來一次清除資料
  4. 實作:HashSet

List介面
  1. 有特定順序
  2. 資料可以重複
  3. 除了繼承Collection下的方法,其他常用的方法還有
    • get:取出資料
    • indexOf:找到物件放的位置(找不到回傳-1)
    • set:修改某個位置的資料
      4. 實作:LinkedList, ArrayList

 import java.util.ArrayList;
 import java.util.Collections;

 public class ArrayListSortingSample{
 
     static ArrayList list1 = new ArrayList();

     public static void main(String argv[]){
         list1.add("E");
         list1.add("C");
         list1.add("A");
         list1.add("B");
         list1.add("D");
     
         System.out.print("排序前:");
         for(int i = 0 ; i < list1.size() ; i++){
             System.out.print(list1.get(i));
         }
         System.out.println();
         Collections.sort(list1); //由小到大排序
         System.out.print("排序後:");
         for(int i = 0 ; i < list1.size() ; i++){
             System.out.print(list1.get(i));
         }  
         System.out.println();
         Collections.sort(list1, Collections.reverseOrder()); //將原來的排序方向顛倒
     
         System.out.print("反向排序後:");
         for(int i = 0 ; i < list1.size() ; i++){
             System.out.print(list1.get(i));
         }  
     }
 } 

Iterator類別

  1. 用途:用來產生Iterator物件,讀取Collection中的物件方法
  2. 常用方法

  • next:取得下一個
  • hasNext:判斷是否還有下一個
  • remove:刪除目前指到的資料
---------------------------------------------------------------------------------------------------


Map介面
  1. 對應一個key值,跟一個指定資料
  2. 常用方法
  • put(鍵值,資料):加入資料
  • keySet:取得所有關鍵值
import java.util.HashMap;

public class HashMapSample {

    public static void main(String[] args) {
        HashMap map = new HashMap();

        map.put("A", "1");
        map.put("B", "2");
        map.put("C", "3");
        map.put("D", "4");
        map.put("E", "5");

        for (Object key : map.keySet()) {
            System.out.println(key + " : " + map.get(key));
        }
    }
}



                 

沒有留言:

張貼留言

20200826 [日記] 前後前後前前後後

人生也需要管理 by工作上的前輩 問題不管怎樣一定會解決,只是是好的解法還是壞的解法 by工作上的廠商 以上是最近常常徘徊在心頭的小標語。 1. 一直覺得業務是沒有專業能力才會做的職業,但最近真的打從心底的小小改觀。 2. 工作上還是很多讓人不耐煩的事情,但越來越能面對它處理它放...