wangshouyin 发表于 2021-3-14 13:55

Java中对Array数组的常用操作


import java.util.*;
public class ArrayPrint {
       
        public static void main(String[] args){
    //声明数组
    String [] arr;
    int arr1[];
      
    //初始化数组
    int arr2[]=new int[]{1,2,3,4,5};
    String[] array1={"马超","马云","关羽","刘备","张飞"};
    String[] array2=new String[]{"黄渤","张艺兴","孙红雷","小猪","牙哥","黄磊"};      
    String[] array=new String;
      
    //查看数组的长度
    int length=array1.length;
    System.out.println("length:"+array1.length);
      
    //输出数组
    System.out.println(array1);   //结果:[Ljava.lang.String;@32f22097
    System.out.println("arr2:"+Arrays.toString(arr2));
      
    //遍历数组
    for (int i = 0; i < array1.length; i++) {
                 System.out.println(array1);
    }
   
    //int数组转成string数组
    int[]array3={1,2,3,4,5,6,7,8,9,0};
    String arrStrings=Arrays.toString(array3);
    System.out.println("arrStrings:"+arrStrings);
      
    //从array中创建arraylist
    ArrayList <String> arrayList=new ArrayList<String>(Arrays.asList(array1));
    System.out.println("arrayList:"+arrayList);
      
    //数组中是否包含某一个值
    String a="马超";
    if (Arrays.asList(array1).contains(a)) {
      System.out.println("马超在这里");
    }
      
    //将数组转成set集合
    Set<String> set=new HashSet<String>(Arrays.asList(array2));
    System.out.println("set:"+set);
      
    //将数组转成list集合
    List<String> list_1=new ArrayList<String>();
    for (int i = 0; i < array2.length; i++) {
      list_1.add(array2);
    }
    System.out.println("list_1:"+list_1);
   
    String[] arrStrings2={"1","2","3"};
    List<String > list2=Arrays.asList(arrStrings2);
    System.out.println("list2:"+list2);
      
      
    //Arrays.fill()填充数组
    int[] arr3=new int;
    Arrays.fill(arr3, 10);//将数组全部填充10
    System.out.println("arr3:"+arr3);
    for (int i = 0; i < arr3.length; i++) {
      System.out.println("arr3:"+arr3);
    }
      
    //数组排序
    int[] arr4 = {3, 7, 2, 1, 9};
    Arrays.sort(arr4);
    System.out.println("arr4:"+arr4);
    for (int i = 0; i < arr4.length; i++) {
      System.out.println("arr4:"+arr4);
    }
      
    int[] arr5 = {3, 7, 2, 1, 9,3,45,7,8,8,3,2,65,34,5};
    Arrays.sort(arr5, 1, 4);//从第几个到第几个之间的进行排序
    for (int i = 0; i < arr5.length; i++) {
      System.out.println("arr5:"+arr5);
    }
      
      
    //复制数组
    int[] arr6 = {3, 7, 2, 1};
    int[] arr7=Arrays.copyOf(arr6, 10);//指定新数组的长度
      
    int[] arr8=Arrays.copyOfRange(arr6, 1, 3); //只复制从索引到索引之间的元素(不包括索引的元素)
    for (int i = 0; i < arr8.length; i++) {
      System.out.println(arr8);
    }
      
    //比较两个数组
    int[] arr9 = {1, 2, 3, 4,5,6,7,8,9,0};
    boolean arr10=Arrays.equals(arr6, arr9);
    System.out.println(arr10);

    //去重复
    //利用set的特性
    int[] arr11 = {1, 2, 3, 4,5,6,7,8,9,0,3,2,4,5,6,7,4,32,2,1,1,4,6,3};
    Set<Integer> set2=new HashSet<Integer>();
    for (int i = 0; i < arr11.length; i++) {
      set2.add(arr11);
    }
      System.out.println(set2);
    int[] arr12 = new int;
    int j=0;
    for (Integer i:set2) {
      arr12=i;
    }
    System.out.println(Arrays.toString(arr12));
}
}

柠檬Cat 发表于 2021-3-14 15:06

很厉害,算法题目里都经常用到的

hackin9 发表于 2021-3-14 18:41

这也可以吗?正切反切反转排序?

sendtome 发表于 2021-3-14 20:56

因为java在实际环境中经常是多线程的应用,arrayLis并t不是线程安全的,实际使用list往往用一些线程安全的list类。
页: [1]
查看完整版本: Java中对Array数组的常用操作