集合能夠存儲不一樣類型的對象算法
//建立一個ArrayList對象 //ArrayLIst實現了list接口,List接口繼承Collection接口,(多態的體現) Collection coll = new ArrayList(); coll.add("1"); //添加一個元素 //建立一個新數組 Collection newColl = new ArrayList(); newColl.add("新數組"); newColl.add("新數組"); coll.addAll(newColl); //添加新數組 //是否包含某元素 System.out.println("是否包含1 = " + coll.contains("1")); //是否包含一組元素 System.out.println("是否包含一組元素 = " + coll.containsAll(newColl)); //元素的個數 int size = coll.size(); System.out.println(size); //是否爲空 boolean isEmpty = coll.isEmpty(); //刪除某個元素 coll.remove("1"); //刪除一組元素 //coll.removeAll(newColl); System.out.println(coll); //轉換成數組 Object[] arr = coll.toArray();
*List做爲Collection的子接口,具有Collection中的方法。
因爲List接口是有序的,也具備一些特有的方法 :數組
//list 集合比collection多一部分關於下標的操做, //例如插入元素到什麼位置,根據位置刪除元素 List list = new ArrayList(); //添加一個元素 list.add("12"); list.add("13"); list.add("3"); list.add("23"); //根據下標查找元素 Object object = list.get(1); //根據元素查找下標 int index = list.indexOf("2"); //修改 1,元素的下標 2,元素的新值; list.set(1, "修改的元素"); //截取子串 1,開始的下標 2,結束的下標 List subList = list.subList(1, 3); //根據下標刪除元素 參數:下標 list.remove(1); //根據元素刪除元素 參數:元素 list.remove("4"); System.out.println(list); //清空集合 list.clear();
ArrayList list = new ArrayList();安全
list.add("1"); list.add("2"); list.add("3"); //刪除元素 //根據下標刪除元素 list.remove(1); //根據元素刪除元素 list.remove("2"); //更新元素 list.set(1, "更新的元素"); //查找元素 Object object = list.get(1); //是否包含某元素 boolean isContain = list.contains("3"); //元素的個數 int size = list.size();
若是刪除,添加操做比較多,就用LinkedList
若是查找,更新操做較多,就用ArrayList數據結構
LinkedList list = new LinkedList(); list.add("1"); list.add("2"); list.add("3"); //刪除元素 //根據下標刪除元素 list.remove(1); //根據元素刪除元素 list.remove("2"); //更新元素 list.set(1, "更新的元素"); //查找元素 Object object = list.get(1); //是否包含某元素 boolean isContain = list.contains("3"); //元素的個數 int size = list.size();
//Map (鍵值結構) //key/value HashMap map = new HashMap(); //存值 map.put("a", "值"); map.put("b", "值1"); map.put("c", "值2"); map.put("z", "值3"); //取值 String value = (String)map.get("c"); System.out.println("key對應的值:" + value); //修改 map.put("z", "修改的值"); //若是key存在,修改, 若是key不存在,添加; //值是能夠重複的,鍵不能重複 //刪除 map.remove("a"); //遍歷map Set keySet = map.keySet(); //用集合接收穫取全部的鍵 //Collection valueSet = map.values(); //獲取全部的值 //for (類型 變量名 : 集合) {} for (Object object : keySet) { System.out.print("key = " + object); System.out.print(","); System.out.println("value = " + map.get(object)); }