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

猜你喜欢

转载自blog.csdn.net/a417197457/article/details/82495509