1. 程式人生 > >JAVA刷題常用api

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位(不包括)