JAVA刷題常用api
一: Map<String,Intger>() m = HashMap<>();
1 void clear( )
從此對映中移除所有對映關係(可選操作)。
2 boolean containsKey(Object k)
如果此對映包含指定鍵的對映關係,則返回 true。
3 boolean containsValue(Object v)
如果此對映將一個或多個鍵對映到指定值,則返回 true。
4 Set entrySet( )
返回此對映中包含的對映關係的 Set 檢視。
5 boolean equals(Object obj)
比較指定的物件與此對映是否相等。
6 Object get(Object k)
返回指定鍵所對映的值;如果此對映不包含該鍵的對映關係,則返回 null。
7 int hashCode( )
返回此對映的雜湊碼值。
8 boolean isEmpty( )
如果此對映未包含鍵-值對映關係,則返回 true。
9 Set keySet( )
返回此對映中包含的鍵的 Set 檢視。
10 Object put(Object k, Object v)
將指定的值與此對映中的指定鍵關聯(可選操作)。
11 void putAll(Map m)
從指定對映中將所有對映關係複製到此對映中(可選操作)。
12 Object remove(Object k)
如果存在一個鍵的對映關係,則將其從此對映中移除(可選操作)。
13 int size( )
返回此對映中的鍵-值對映關係數。
14 Collection values( )
返回此對映中包含的值的 Collection 檢視。
二: Stack<Integer> s = new Stack<>()
1 boolean empty()
測試堆疊是否為空。
2 Object peek( )
檢視堆疊頂部的物件,但不從堆疊中移除它。
3 Object pop( )
移除堆疊頂部的物件,並作為此函式的值返回該物件。
4 Object push(Object element)
把項壓入堆疊頂部。
5 int search(Object element)
返回物件在堆疊中的位置,以 1 為基數。
三: Queue<String> queue = new LinkedList<String>();
//add()和remove()方法在失敗的時候會丟擲異常(不推薦)
queue.offer("a");
for(String q : queue){
System.out.println(q);
}
queue.poll(); //返回第一個元素,並在佇列中刪除
queue.element(); //返回第一個元素
queue.peek(); //返回第一個元素
四: List<> l = new ArrayList<>();
//返回ArrayList的實際大小
public int size()
//判斷ArrayList是否為空
public boolean isEmpty()
//判斷ArrayList是否包含元素o
public boolean contains(Object o)
//正向查詢,返回元素的索引值
public int indexOf(Object o)
//反向查詢,返回元素的索引值
public int lastIndexOf(Object o)
//獲取index位置的元素
public E get(int index)
//將e新增到ArrayList末尾
public boolean add(E e)
//刪除ArrayList指定位置的元素
public E remove(int index)
//刪除ArrayList中指定的元素
public boolean remove(Object o)
//清空ArrayList,將全部元素置為null
public void clear()
//將集合C中的所有元素新增到ArrayList中
public boolean addAll(Collection<? extends E> c)
五: Arrays
1、填充陣列:fill
eg1:
int []arr = new int[5];
Arrays.fill(arr, 2);
output(arr);
結果是:2 2 2 2 2
eg2:
int []arr = new int[5];
Arrays.fill(arr, 1,3,8);
output(arr);
結果是:0 8 8 0 0
給第1位(0開始)到第3位(不包括)賦值8
2、陣列元素排序:sort
eg1:
int []arr = {3,2,1,5,4};
Arrays.sort(arr);
output(arr);
結果是:1 2 3 4 5
eg2:
int []arr = {3,2,1,5,4};
Arrays.sort(arr,1,3);
output(arr);
結果是:3 1 2 5 4
分析:給第1位(0開始)到第3位(不包括)排序
3、比較陣列元素是否相等:equals
int []arr1 = {1,2,3};
int []arr2 = {1,2,3};
System.out.println(Arrays.equals(arr1,arr2));
結果是:true
如果是arr1.equals(arr2),則返回false,因為equals比較的是兩個物件的地址,不是裡面的數,而Arrays.equals重寫了equals,所以,這裡能比較元素是否相等。
4、二分查詢法找指定元素的索引值(下標):binarySearch
eg1:
int []arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 20));
結果是:1
分析:能找到該元素,返回下標為1(0開始)
eg2:
int []arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 35));
結果是:-4
分析:找不到元素,返回-x,從-1開始數,如題,返回-4
eg3:
int []arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 0,3,30));
結果是:2
分析:從0到3位(不包括)找30,找到了,在第2位,返回2
eg4:
int []arr = {10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 0,3,40));
結果是:-4
分析:從0到3位(不包括)找40,找不到,從-1開始數,返回-4
5、擷取陣列:copeOf和copeOfRange
eg1: copy
int []arr = {10,20,30,40,50};
int []arr1 = Arrays.copyOf(arr, 3);
output(arr1);
結果:10 20 30
分析:擷取arr陣列的3個元素賦值給姓陣列arr1
eg2: copyOfRange
int []arr = {10,20,30,40,50};
int []arr1 = Arrays.copyOfRange(arr,1,3);
output(arr1);
結果:20 30
分析:從第1位(0開始)擷取到第3位(不包括)