Java 容器(一) Arrays

纸上得来终觉浅

1.Java容器,目的是存储对象,称为:Collection,分类包括List,Set,Queue,Map;每个分类都有几个实现版本;详细如下图所示:

Java 容器(一) Arrays_第1张图片

除此之外还涉及到Collections和Arrays这两个辅助工具类,以及Comparable和Comparator这两个用于比较的接口。后面分别对它们的使用总结成笔记,这篇文章不讲容器,先讲述数组和操作数组的工具类Arrays;

2.Arrays

数组与容器唯一的优势是存取效率比较高(现在认为基本没什么区别),缺陷是数组的大小是固定的; 另外有一个工具类Arrays支持对数组的操作,也就是本篇所讲:

package roadArchitectWeb.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
public class Test1{
	public static void main(String[] args) {
		Integer[] a = {1,2,3,4,5,6,7,8,9,10};
		Integer[] b = {10,9,8,7,6,5,4,3,2,1};
		/*equals*/
		System.out.println("Arrays.equals(a, b):"+Arrays.equals(a, b));
		/*sort排序*/
		Arrays.sort(b,new Comparator<Integer>() {
			@Override
			public int compare(Integer o1, Integer o2) {
				return o1.compareTo(o2);
			}
		});
		System.out.println("Arrays.sort:"+Arrays.toString(b));
		/*fill*/
		Arrays.fill(a,30);
		System.out.println("Arrays.fill:"+Arrays.toString(a));
		/*Arrays.binarySearch()*/
		System.out.println("Arrays.binarySearch()+"+Arrays.binarySearch(b,5));
		/*Arrays.hashCode()*/
		System.out.println("Arrays.hashCode():"+Arrays.hashCode(a));
		/*Arrays.asList*/
		ArrayList<Integer> arrayList = new ArrayList<Integer>(Arrays.asList(b));
		System.out.println("Arrays.asList:"+arrayList);
	}
}
结果如下:

Arrays.equals(a, b):false
Arrays.sort:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Arrays.fill:[30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
Arrays.binarySearch()+4
Arrays.hashCode():701064577
Arrays.asList:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

你可能感兴趣的:(数组,Arrays,comparator,容器,JAVA容器)