常用数组方法

//Arrays方法总结
		Arrays.toString(arr)//直接输出一维数组
		System.out.println(Arrays.deepToString(erwei));//直接输出二维数组
		Arrays.sort(arr)//将数组按升序排序
		Arrays.binarySearch(arr,需要查找的元素)//在此之前要先排序
		List<String> stringList = Arrays.asList("Welcome", "To", "Java","World!");//使用该方法可以返回一个固定大小的List
		List<Integer> intList = Arrays.asList(1, 2, 3, 4);//使用该方法可以返回一个固定大小的List
		boolean b = Arrays.binarySearch(new int[]{1,2,3,4,5,6,7,8,9},6);//返回该数在数组的位置,返回int类型(注意不是boolean)
		//将数组的部分值转入另一个数组中
		String[] name = {"Liz", "John", "Eric", "Alan" };
		String[] copy = Arrays.copyOf(name,3);//copy为{"Liz", "John", "Eric"}
		String[] rangeCopy = Arrays.copyOfRange(name,2,name.length);//rangeCopy为{"Eric", "Alan" }
		Arrays.sort(name,0,2);//name数组中只前三个数排序,name变为[John, Liz, Eric, Alan]
		Arrays.sort(name);//name变为[Alan, Eric, John, Liz]
		//判断name1和name2两个一维数组是否相同,返回布尔值
		Arrays.equals(names1, names2);
		Arrays.deepEquals(stuGrades1, stuGrades2)//判断两个二维数组是否相同
		//fill
		int[] i = new int[5];
		Arrays.fill(i,1);//则i数组变为{1,1,1,1,1}

//Array([]):最高效;但是其容量固定且无法动态改变; ArrayList:  容量可动态增长;但牺牲效率;	应尽可能使用Array,无法确定数组大小时才使用ArrayList!
//不过Arrays类没有提供删除方法,而ArrayList中有remove()方法,不知道是否是不需要在Array中做删除等操作的原因(因为此时应该使用链表)
//每当执行Add、AddRange、Insert、InsertRange等添加元素的方法,都会检查内部数组的容量是否不够了,如果是,它就会以当前容量的两倍来重新构建一个数组,将旧元素Copy到新数组中,然后丢弃旧数组,在这个临界点的扩容操作,应该来说是比较影响效率的。
//ArrayList存入对象时,抛弃类型信息,所有对象屏蔽为Object,编译时不检查类型,但是运行时会报错。
//ArrayList与数组的区别主要就是由于动态增容的效率问题了

	
//将arraylist转化为list
	public static void main(String[] args) { 
		List list=new ArrayList();  
        list.add("王利虎");  
        list.add("张三");  
        list.add("李四");  
        int size=list.size();  
        String[] array=new String[size];  
        for(int i=0;i<list.size();i++){  
            array[i]=(String)list.get(i);  
        }  
        for(int i=0;i<array.length;i++){  
            System.out.println(array[i]);  
        }  
    }  
	
	
	public static void main(String[] args) {  
        List<String> list=new ArrayList<String>();  
        list.add("王利虎");  
        list.add("张三");  
        list.add("李四");  
        int size=list.size();  
        String[] array = (String[])list.toArray(new String[size]);  
        for(int i=0;i<array.length;i++){  
            System.out.println(array[i]);  
        }  
    } 

//将array转化为arraylist
	public static void main(String[] args) {  
        String[] array=new String[3];  
        array[0]="王利虎";  
        array[1]="张三";  
        array[2]="李四";  
        List<String> list=new ArrayList<String>();  
        for(int i=0;i<array.length;i++){  
            list.add(array[i]);  
        }  
        for(int i=0;i<list.size();i++){  
            System.out.println(list.get(i));  
        }  
    } 

		public static void main(String[] args) {  
        String[] array=new String[3];  
        array[0]="王利虎";  
        array[1]="张三";  
        array[2]="李四";  
        List<String> list=Arrays.asList(array);  
        for(int i=0;i<list.size();i++){  
            System.out.println(list.get(i));  
        }      
    }  
	
	public static void main(String[] args) {  
        List<String> list = Arrays.asList("王利虎","张三","李四");  
        for(int i=0;i<list.size();i++){  
            System.out.println(list.get(i));  
        }  
    }  
		

//声明数组
		String[] aArray = new String[5];  
		String[] bArray = {"a","b","c", "d", "e"};  
		String[] cArray = new String[]{"a","b","c","d","e"};  
//输出数组
		int[] intArray = { 1, 2, 3, 4, 5 };  
		String intArrayString = Arrays.toString(intArray);  
		  
		// print directly will print reference value  
		System.out.println(intArray);  
		// [I@7150bd4d  
		   
		System.out.println(intArrayString);  
		// [1, 2, 3, 4, 5]  
//从一个数组创作数组列表
		String[] stringArray = { "a", "b", "c", "d", "e" };  
		ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));  
		System.out.println(arrayList);  
		// [a, b, c, d, e]  
//检查一个数组是否包含某个值
		String[] stringArray = { "a", "b", "c", "d", "e" };  
		boolean b = Arrays.asList(stringArray).contains("a");  
		System.out.println(b);  
//连接两个数组
		int[] intArray = { 1, 2, 3, 4, 5 };  
		int[] intArray2 = { 6, 7, 8, 9, 10 };  
		// Apache Commons Lang library  
		int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);  
//声明一个内联数组
		method(new String[]{"a", "b", "c", "d", "e"}); 
//把提供的数组放到一个字符串里
		String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");  
		System.out.println(j); 
//将一个数组列表转化成数组
		String[] stringArray = { "a", "b", "c", "d", "e" };  
		ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));  
		String[] stringArr = new String[arrayList.size()];  
		arrayList.toArray(stringArr);  
		for (String s : stringArr)  
			System.out.println(s); 
//将一个数组转化为集
		Set<String> set = new HashSet<String>(Arrays.asList(stringArray));  
		System.out.println(set);  
		//[d, e, b, c, a] 
//逆向一个数组
		int[] intArray = { 1, 2, 3, 4, 5 };  
		ArrayUtils.reverse(intArray);  
		System.out.println(Arrays.toString(intArray)); 
//移除数组中的一个元素
		int[] intArray = { 1, 2, 3, 4, 5 };  
		int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array  
		System.out.println(Arrays.toString(removed));  
//将整数转化成字节数组
		byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();     
		for (byte t : bytes) {  
		   System.out.format("0x%x ", t);  
		} 
//二维数组
		int[][] a = new int[3][4];
		System.out.println(a);//数组的地址
		System.out.println(a.length);//数组一维数组的个数,即行数3
		System.out.println(a[0].length);//数组意味数组中的元素个数,及列数4
		
//打印数组的四种方式
		System.out.println(Arrays.toString(arr));
		for(int aaa:arr){
			System.out.println(aaa);
		}
		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
		System.out.println(Arrays.asList(arr));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值