数组方法总结

方法

Arrays.copyOf()

java.util.Arrays.copyOf ( T[] original, int newLength )

  • 传回的数组是新的数组对象
  • 改变传回数组中的元素值,不会影响原来的数组
  • 第二个自变量指定要建立的新数组长度,如果新数组的长度超过原数组的长度,则保留数组默认值
import java.util.Arrays;

public class ArrayDemo {

	public static void main(String[] args) {
	
    	int[] arr1 = {1, 2, 3, 4, 5}; 
    	int[] arr2 = Arrays.copyOf(arr1, 5);
    	int[] arr3 = Arrays.copyOf(arr1, 10);
    	
    	for(int i = 0; i < arr2.length; i++) 
        	System.out.print(arr2[i] + " "); 
    		System.out.println();
    	for(int i = 0; i < arr3.length; i++) 
        	System.out.print(arr3[i] + " ");
	}
} 
1 2 3 4 5 
1 2 3 4 5 0 0 0 0 0

https://www.jianshu.com/p/2b113f487e5e

Array.asList()

  • 实现

    String[] myArray = { "Apple", "Banana", "Orange" }; 
    List<String> myList = Arrays.asList(myArray);
    

    或者

    List<String> myList = Arrays.asList("Apple", "Orange");
    
  • 参数

    • asList 方法的参数必须是对象或者对象数组、

      • 原生数据类型不是对象——这也正是包装类出现的一个主要原因
      • 任何类型的对象都有一个 class 属性,这个属性代表了这个类型本身
      • 原生数据类型,比如 int,short,long等,是没有这个属性的,具有 class 属性的是它们所对应的包装类 Integer,Short,Long
      • 原生数据类型不是对象——这也正是包装类出现的一个主要原因
      • 当传入一个原生数据类型数组时,asList 的真正得到的参数就不是数组中的元素,而是数组对象本身
        • 此时List 的唯一元素就是这个数组
 
  public class Test {
     public static void main(String[] args) {
        int[] myArray = { 1, 2, 3 };
        List myList = Arrays.asList(myArray);
        System.out.println(myList.size());
     }
  }

改为


public class Test {
   public static void main(String[] args) {
      Integer[] myArray = { 1, 2, 3 };
      List myList = Arrays.asList(myArray);
      System.out.println(myList.size());
   }
}
  • 返回

    • asList 返回一个由指定数组生成的固定大小的 List,任何改变其大小的操作都是不允许的
    public class Test {
       public static void main(String[] args) {
          String[] myArray = { "Apple", "Banana", "Orange" };
          List<String> myList = Arrays.asList(myArray);
          myList.add("Guava");
       }
    }
    

    改为

    public class Test {
       public static void main(String[] args) {
          String[] myArray = { "Apple", "Banana", "Orange" };
          List<String> myList = new ArrayList<String>(Arrays.asList(myArray));
          myList.add("Guava");
       }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值