Java中数组常用的一些操作

java中最常用的就是数组了,关于数组的用法,总结如下:

/*
声明数组;
初始化数组;
查看数组长度;
遍历数组;
int数组转成string数组;
从array中创建arraylist;
数组中是否包含某一个值;
将数组转成set集合;
将数组转成list集合;
Arrays.fill()填充数组;
数组排序;
复制数组;
比较两个数组;
去重复;
查询数组中的最大值和最小值;

(1) 声明数组

 //数组的声明
    int[]arr1;
    String []arr2;
    //int[]arr3=new int[10];
    String[]arr4 =new String[10];   

(2)初始化数组

//静态初始化
    //int arr3[]= {1,2,3,3};//
    int []arr3 = new int[]{1,2,3};
    String[] arr5 =new String[] {"自信","充实","喜乐"};
    //动态初始化
    for (int i = 0; i < arr3.length; i++) {
        arr3[i] =i+1;
    }   

(3)查看数组长度;

//查看数组长度
    int length = arr4.length;
    System.out.println(length);

4、遍历数组;

    //遍历数组;
    for (int i = 0; i < arr5.length; i++) {
        System.out.print(arr5[i]);
    }

5、int数组转成string数组

//int数组转成string数组;
    String arr6=Arrays.toString(arr3);
    System.out.println(arr6);//看下这时候输出的是不是一个数组

6、从array中创建arraylist

//从array中创建arraylist;
    ArrayList<String> arrlist= new ArrayList<String>(Arrays.asList(arr5));
    System.out.println(arrlist);

7、数组中是否包含某一个值

  String a ="自信";
            if (Arrays.asList(arr5).contains(a)) {

                System.out.print("言你要自信,不要拿自己之短比别人之长");

            }

8、将数组转成set集合

//将数组转成set集合;
            Set<String> myset= new HashSet<String>(Arrays.asList(arr5));
            System.out.println(myset);

9、将数组转成list集合

//将数组转成list集合;
             List<String > list2=java.util.Arrays.asList(arr5);
               System.out.println(list2); 

10、Arrays.fill()填充数组

//Arrays.fill()填充数组;
            int []arr7= new int[5];
            Arrays.fill(arr7, 10);//将arr7全部设为5
            for (int i = 0; i < arr7.length; i++) {
                System.out.print(arr7[i]);

            }

11、数组排序

//数组排序;
       int []arr8= new int[]{4,7,2,5,1};
       Arrays.sort(arr8);//按照ASCII进行排序
       for (int i = 0; i < arr8.length; i++) {
           System.out.println(arr8[i]); 
    }
       int []arr9= new int[]{4,7,2,5,1,13,17};
       Arrays.sort(arr9,2,6);//只对2-6之间的数进行排序
       for (int i = 0; i < arr9.length; i++) {
        System.out.println(arr9[i]);
    }

12、复制数组

 int []arr10 =Arrays.copyOf(arr9, 10);
    int []arr11= Arrays.copyOfRange(arr9, 2, 6);
    for (int i = 0; i < arr11.length; i++) {
        System.out.println(arr11[i]);
    }

13、比较两个数组

 boolean b =Arrays.equals(arr10, arr11);
    System.out.print(b);

14、去重复

//  去重复利用set里不能有重复的元素
    int[] arr12 = {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> set1= new HashSet<Integer>() ;
    for (int i = 0; i < arr12.length; i++) {
        set1.add(arr12[i]);
        System.out.println(set1);

        int arr13[] = new int[set1.size()];
        int j= 0;
        for(Integer k:set1){
            arr13[j++]=i;
        }
        System.out.println(Arrays.toString(arr13));

    }

15、查询数组中的最大值和最小值

//  查询数组中的最大值和最小值;

    int max=arr12[0];
    for (int i = 0; i < arr12.length; i++) {
        if (arr12[i]>max) {
            max=arr12[i];

        }
    }
    System.out.println(max);
    int min =arr12[0];
    for (int i = 0; i < arr12.length; i++) {
        if (arr12[i]<max) {
            min=arr12[i];
        }
    }
    System.out.println(min);
   }

完整的代码:

package zyy.pack;

import java.awt.Container;
//import java.awt.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.omg.CORBA.PUBLIC_MEMBER;

//这里是有关数组的一些用法
/*
 * 声明数组;
初始化数组;
查看数组长度;
遍历数组;
int数组转成string数组;
从array中创建arraylist;
数组中是否包含某一个值;
将数组转成set集合;
将数组转成list集合;
Arrays.fill()填充数组;
数组排序;
复制数组;
比较两个数组;
去重复;
查询数组中的最大值和最小值;
 * */
public class array {
   public static void main(String args[]){
       //数组的声明
    int[]arr1;
    String []arr2;
    //int[]arr3=new int[10];
    String[]arr4 =new String[10];


    //初始化数组
    //静态初始化
    //int arr3[]= {1,2,3,3};//
    int []arr3 = new int[]{1,2,3};
    String[] arr5 =new String[] {"自信","充实","喜乐"};
    //动态初始化
    for (int i = 0; i < arr3.length; i++) {
        arr3[i] =i+1;
    }

    //查看数组长度
    int length = arr4.length;
    System.out.println(length);
    //遍历数组;
    for (int i = 0; i < arr5.length; i++) {
        System.out.println(arr5[i]);
    }
    //int数组转成string数组;
    String arr6=Arrays.toString(arr3);
    System.out.println("arr6 是"+arr6);//看下这时候输出的是不是一个数组

    //从array中创建arraylist;
    ArrayList<String> arrlist= new ArrayList<String>(Arrays.asList(arr5));
    System.out.println(arrlist);

    //数组中是否包含某一个值;
    String a ="自信";
            if (Arrays.asList(arr5).contains(a)) {

                System.out.println("言言要自信,不要拿自己之短比别人之长");

            }

    //将数组转成set集合;
            Set<String> myset= new HashSet<String>(Arrays.asList(arr5));
            System.out.println("myset 是"+myset);

    //将数组转成list集合;
             List<String > list2=java.util.Arrays.asList(arr5);
               System.out.println(list2); 

    //Arrays.fill()填充数组;
            int []arr7= new int[5];
            Arrays.fill(arr7, 5);//将arr7全部设为5
            for (int i = 0; i < arr7.length; i++) {
                System.out.println("填充数组"+arr7[i]);

            }

    //数组排序;
       int []arr8= new int[]{4,7,2,5,1};
       Arrays.sort(arr8);//按照ASCII进行排序
       for (int i = 0; i < arr8.length; i++) {
           System.out.print(arr8[i]);   
    }
       int []arr9= new int[]{4,7,2,5,1,13,17};
       Arrays.sort(arr9,2,6);//只对2-6之间的数进行排序
       for (int i = 0; i < arr9.length; i++) {
        System.out.print(arr9[i]);
    }


//  复制数组
    int []arr10 =Arrays.copyOf(arr9, 10);
    int []arr11= Arrays.copyOfRange(arr9, 2, 6);
    for (int i = 0; i < arr11.length; i++) {
        System.out.println(arr11[i]);
    }


//  比较两个数组;
    boolean b =Arrays.equals(arr10, arr11);
    System.out.println("这两个数组是否相等"+b);


//  去重复利用set里不能有重复的元素
    int[] arr12 = {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> set1= new HashSet<Integer>() ;
    for (int i = 0; i < arr12.length; i++) {
        set1.add(arr12[i]);
    }
        System.out.println("这里是set1的元素"+set1);



    int arr13[] = new int[set1.size()];
    int j= 0;
    for(Integer k:set1){
        arr13[j++]=k;
    }
        System.out.println("这里是set1转成数组后的元素"+Arrays.toString(arr13));





//  查询数组中的最大值和最小值;

    int max=arr12[0];
    for (int i = 0; i < arr12.length; i++) {
        if (arr12[i]>max) {
            max=arr12[i];

        }
    }
    System.out.println(max);
    int min =arr12[0];
    for (int i = 0; i < arr12.length; i++) {
        if (arr12[i]<min) {
            min=arr12[i];//
        }
    }
    System.out.println(min);
   }

}

输出结果

10
自信
充实
喜乐
arr6 是[1, 2, 3]
[自信, 充实, 喜乐]
你言要自信,不要拿自己之短比别人之长
myset 是[充实, 自信, 喜乐]
[自信, 充实, 喜乐]
填充数组5
填充数组5
填充数组5
填充数组5
填充数组5
124574712513171
2
5
13
这两个数组是否相等false
这里是set1的元素[0, 32, 1, 2, 3, 4, 5, 6, 7, 8, 9]
这里是set1转成数组后的元素[0, 32, 1, 2, 3, 4, 5, 6, 7, 8, 9]
32
0
原文链接https://www.cnblogs.com/epeter/p/5664926.html

猜你喜欢

转载自blog.csdn.net/zy20120580223/article/details/80302458