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