使用html語言檢測滑鼠微動是否發生雙擊
阿新 • • 發佈:2021-01-11
集合類
一、集合概述
-
可以儲存任意型別的物件,並且長度可變的類統稱為集合
-
集合分為兩大類:
①單列集合類Collection,儲存一系列符合某種規則的元素。有兩個子介面分別是list和set
- list:元素有序,可重複,子介面有ArrayList和LinkedList
- set:元素無序,不可重複,子介面有HashSet和TreeSet
②雙列集合Map,用於儲存具有鍵(Key)、值(Value)對映關係的元素,每個元素都要包含一對鍵值,根據鍵可以找到值,主要實現類有HashMap和TreeMap
二、Collection介面
方法宣告 | 功能描述 |
---|---|
boolean add(E e) |
向集合中新增一個元素 |
boolean addAll(Collection c) |
將指定集合中的所有元素新增到此集合中 |
void clear() | 清空掉集合中的所有元素 |
boolean remove(Object o) | 刪除集合中的指定的元素。如果存在NULL,也刪除 |
boolean removeAll(Collection c) | 刪除當前集合中所有等於指定集合中的元素。 |
boolean isEmpty() | 如果集合中沒有元素返回true |
boolean contains(Object o) | 如果集合中包含指定元素那麼返回true |
boolean containsAll(Collection c) | 如果該集合中包含指定集合中的所有元素的時候返回true |
Iterator iterator() | 返回在該集合的元素上進行迭代的迭代器,用於遍歷該集合的所有元素 |
int size() | 返回該集合中元素的個數。 |
三、List介面
- 元素有序,元素存入的順序和取出的順序一直
方法宣告 | 功能描述 |
---|---|
void add (int index, Object element) | 在指定位置插入元素,以前元素通通後移一位 |
boolean addAll(int index,Collection c) | 將集合c所包含的所有元素插入到List集合的index處 |
Object get (int index) | 返回指定位置的元素 |
Object remove (int index) | 刪除指定位置的元素,後面元素通通前移一位 |
Object set (int index,Object element) | 修改指定位置的元素 |
int indexOf (Object o) | 返回第一個匹配元素的索引。如果沒有該元素,返回-1 |
int lastIndexOf (Object o) | 返回最後一個匹配元素的索引。如果沒有該元素,返回-1 |
List subList(int fromIndex, int toIndex) | 返回從索引fromIndex(包括)到toIndex(不包括)處所有元素集合組成的子集合 |
ArrayList
- 長度可變的陣列
- 陣列具有查詢元素效率高的特點
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("stu1");
list.add("stu2");
System.out.println("集合長度"+list.size());
System.out.println("第二個元素"+list.get(1));
}
}
LinkedList
-
該集合內部維護了一個雙向迴圈的連結串列,連結串列中的每個元素都使用引用的方式來記住它的前一個元素和後一個元素,從而可以將所有元素彼此連線起來。
-
插入或刪除元素時,修改這種關係即可
-
連結串列具有增刪元素效率高的特點
方法宣告 功能描述 public void add(int index, E element) 向指定位置插入元素 public void addFirst(E e) 元素新增到頭部 public void addLast(E e) 元素新增到尾部 public E getFirst() 返回第一個元素 public E getLast() 返回最後一個元素 public E removeFirst() 刪除並返回第一個元素 public E removeLast() 刪除並返回最後一個元素 import java.util.LinkedList; public class Demo2 { public static void main(String[] args) { LinkedList<String> link=new LinkedList(); link.add("stu1"); link.add("stu2"); link.add("stu3"); System.out.println(link.toString());//取出並列印佇列的所有元素 link.add(3,"Student");//向指定位置插入元素 link.addFirst("First"); //向該集合第一個位置插入元素 System.out.println(link); System.out.println(link.getFirst()); link.remove(3); link.removeFirst(); System.out.println(link); } }
Iterator介面
-
用於迭代訪問Collection中的元素
import java.util.ArrayList; import java.util.Iterator; public class Demo3 { public static void main(String[] args) { ArrayList<String> list=new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); Iterator it=list.iterator();//獲取Iterator物件 while(it.hasNext()){ //判斷ArrayList中是否存在下一個元素 Object obj=it.next(); //取出ArrayList集合中的元素 System.out.println(obj); } } }
foreach迴圈
- 使用foreach遍歷集合和陣列時,只能訪問集合中的元素,不能對其中進行修改
public class Demo3 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
for (Object obj : list) {
System.out.println(obj);
}
}
}
四、Set介面
-
Set介面中元素無序,並且都會以某種規則保證存入的元素不出現重複
-
兩個實現類
-
HashSet:根據物件的雜湊值來確定元素在集合中儲存的位置,具有良好的存取和查詢效能
import java.util.HashSet; public class Demo4 { public static void main(String[] args) { HashSet<String> names =new HashSet<String>(); names.add("Jack1"); names.add("Jack2"); names.add("Jack3"); names.add("Jack4"); for(Object i:names) { System.out.println(i); } } }
-
TreeSet:以二叉樹的方式來儲存元素,可以實現對集合中元素的排序
-
五、Map介面
-
Map介面是一種雙列集合,它的每個元素都包含一個鍵物件Key和值物件Value,鍵和值物件之間存在一種對應關係,稱為對映。訪問元素時,只需要找到Key就能找到對應的Value
-
Map集合常用方法表
方法宣告 功能描述 void put(Object key , Object value) 將指定的值與此對映中的值指定關聯 Object get(Object key) 返回指定鍵所對映的值,如果不包含對映關係則返回null boolean containKey(Object key) 如果包含指定鍵的對映關係,則返回true boolean containValue(Object value) 如果此對映將一個或多個鍵對映到指定值,則返回true Set KeySet() 返回此對映中包含的鍵的Set檢視 Collection values() 返回此對映中包含的值的Collection檢視 Set<Map.Entry<K,V>>entrySet 返回此對映中包含的對映關係的Set檢視
HashMap集合
-
haspMap集合是Map介面的一個實現類,它用於儲存鍵值對映關係,但必須保證不出現重複的鍵。
-
鍵必須是唯一的,如果儲存了相同的鍵,後來儲存的鍵可以覆蓋原來的鍵
import java.util.*; public class Demo4 { public static void main(String[] args) { Map names =new HashMap(); names.put("1","Jack1"); names.put("2","Jack2"); names.put("3","Jack3"); names.put("4","Jack4"); for(Object entry:names.entrySet()) { System.out.println(entry); } } }
六、泛型
public class Demo3 {
public static void main(String[] args) {
//使用泛型<String>規定只能傳string型別
ArrayList<String> list=new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
for (Object obj : list) {
System.out.println(obj);
}
}
}