JAVA 数组及常用方法

1.定义数组

String [] a;

String [] a=new int[5];

int a[]=new int[5];

int[] a =new int[]{1,2,3,4};
二维数组:
int [][] a=new int[2(必写)][2(可不写)]
第一个2是二维数组长度,必须写
第二个2是二维数组中单个对象中的长度,可以不写
 
2.获取数组长度
int [] a=new int[]{1,2,3,4}
int b=a.length;
 
3.填充数组
(1)全部填充
int [] a=new int [5];
Arrays.fill(a,4);
数组a变为{4,4,4,4,4}
方法: Arrays.fill(数组名,要填充的内容);
注意:该填充方法填充内容均为要填充的内容.
(2)部分填充
int [] a =new int [7];
Arrays.fill(a,0,3,9);
数组a变为{9,9,9,0,0,0,0}
方法:Arraysfill(数组名,填充数据开始索引,填充数据结束索引+1/实际计算是需要-1来获取索引,填充内容);
 
4.复制数组
(1)全部复制
int [] a=new int [] {1,2,3,4};
int [] a1=Arrays.copyOf(a);
数组a1变为{1,2,3,4}
(2)部分复制
int [] a=new int [] {1,2,3,4};
int [] a1=Arrays.copyOfRange(a,1,2);
数组a1的结果变为{2}
注意:这里第一个数字为开始索引,第二个数字为结束索引+1(在实际计算中需要对待数字-1,来获得结束索引),
 
5.比较两个数组
int [] a=new int []{1,2,3};
int [] b=new int []{1,2,3};
System.out.println(Arrays.equals(a,b));
结果是true;
 
6.判断数组中是否包含某个元素
根据实际情况选择用遍历的方法还是二分法.
遍历效率稍微高一点,代码多一点.
二分法效率稍低一点,单代码少.
public class text {
    public static void main(String[] args) {

        String[] a = new String[] { "avfg", "bcd", "4s", "de", "1d1", "2dff2", "4gsd4", "4sdfs1", "14", "sdf" };
        String b = "1d1";
        Boolean d = false;
        for (String c : a) {
            if (c.equals(b)) {
                d = true;
            }
        }
        System.out.println(d);
        /*这个是二分法
         * Arrays.sort(a); 先排序...必要!!!!
         * int c = Arrays.binarySearch(a, "1d1");然后在查看有没有!
         *  System.out.println(c);输出值大于等于0证明有,为负则没有!!
         */
    }

}
原文地址:https://www.cnblogs.com/zhangxin4477/p/7478482.html