介紹
集合類就像一種容器春畔,可以將對象放入。所以跟數(shù)組很像政鼠,但不同與數(shù)組风瘦,數(shù)組需要再定義的時候確定大小,集合類就不用公般。所以當(dāng)不知道數(shù)據(jù)的數(shù)量大小的數(shù)組就可以使用集合類万搔。
分類
集合類分類
操作方法
Collection
增:<code>add(E e)</code>,<code>addAll(Collection<? extends E> c)</code>
刪:<code>remove(Object o)</code>,<code>removeAll(Collection<?> c)</code>刪除包含在c容器里的相同元素官帘,<code>clear()</code>清空
查:<code>contains(Object o)</code>是否包含
List/Set
改:<code>set(int index, E element)</code>
Map
Map<String,Integer> map = new HashMap<>();
map.put("劉一", 50);
map.put("陳二", 49);
map.put("張三", 30);
map.put("李四", 79);
//放置重復(fù)key會返回老key的value
System.out.println(map.put("劉一", 44)); //50
//是否包含key
System.out.println(map.containsKey("張三")); //true
System.out.println(map); //{李四=79, 劉一=44, 張三=30, 陳二=49}
//遍歷獲得map值
for (String key : map.keySet()){
System.out.println(key +":"+ map.get(key));
}
map.remove("劉一");
System.out.println(map); //{李四=79, 張三=30, 陳二=49}
iterator接口:主要用于遍歷集合中的元素
Collection<String> co = new ArrayList<>();
co.add("1");
co.add("2");
co.add("3");
Iterator<String> it = co.iterator();
while (it.hasNext()){
if (it.next().equals("2")){
it.remove();
System.out.println(co);
}
}
//Lambda表達(dá)式遍歷
it.forEachRemaining(aaa -> System.out.println(aaa));
操作集合的工具類:Collections
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(01);
list.add(-5);
list.add(0);
list.add(1);
System.out.println(list); //[3, 1, -5, 0, 1]
System.out.println(Collections.max(list)); //3
Collections.sort(list);
System.out.println(list); //[-5, 0, 1, 1, 3]
//二分查找法 必須建立在list有序的情況下
System.out.println(Collections.binarySearch(list, 3)); //4
lambda表達(dá)式
Collection<String> co = new ArrayList<>();
co.add("1");
co.add("2");
co.add("3");
//Lambda 表達(dá)式遍歷
co.forEach(obj -> System.out.println(obj));
//Lambda 表達(dá)式刪除
co.removeIf(ele -> ((String)ele).length()>1 );