动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

实例说明数组的常见操作

05-19 17:08 698浏览
举报 T字号
  • 大字
  • 中字
  • 小字

如果需要存储大量的数据,例如如果需要读取100个数,那么就需要定义100个变量,显然重复写100次代码,是没有太大意义的。如何解决这个问题,Java语言提供了数组(array)的数据结构,是一个容器可以存储相同数据类型的元素,可以将100个数存储到数组中。数组的出现,可以给Java开发带来更多的可操作性性。

数组常见操作:

  1. 声明数组;
  2. 初始化数组;
  3. 查看数组长度;
  4. 遍历数组;
  5. int数组转成string数组;
  6. 从array中创建arraylist;
  7. 数组中是否包含某一个值;
  8. 将数组转成set集合;
  9. 将数组转成list集合;
  10. Arrays.fill()填充数组;
  11. 数组排序;
  12. 复制数组;
  13. 比较两个数组;
  14. 去重复;
  15. 查询数组中的最大值和最小值;
package MyTest01;
  
import java.util.*;
  
public class ArrayTest02 {
  
    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[5];
      
          
        //查看数组的长度
        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[i]);
        }
        //int数组转成string数组
        int[]  array3={1,2,3,4,5,6,7,8,9,0};
        String arrStrings=Arrays.toString(array3);
//      System.out.println(arrStrings);
          
        //从array中创建arraylist
        ArrayList<String> arrayList=new ArrayList<String>(Arrays.asList(array1));
        System.out.println(arrayList);
          
        //数组中是否包含某一个值
        String a="马超";
        if (Arrays.asList(array1).contains(a)) {
            System.out.println("马超在这里");
        }        Integer[] a=new Integer[5];        List lst=Arrays.asList(a);        System.out.println(lst.size());                 for(byte i=0;i<5;i++) {            a[i]=(int) i;        }        if (lst.contains(8989)) {            System.out.println("yes");        }        
          
        //将数组转成set集合
        Set<String> set=new HashSet<String>(Arrays.asList(array2));
        System.out.println(set);
          
        //将数组转成list集合
        List<String> list=new ArrayList<String>();
        for (int i = 0; i < array2.length; i++) {
            list.add(array2[i]);
        }
        String[] arrStrings2={"1","2","3"};
        List<String > list2=java.util.Arrays.asList(arrStrings2);
        System.out.println(list2);
          
          
        //Arrays.fill()填充数组
        int[] arr3=new int[5];
        Arrays.fill(arr3, 10);  //将数组全部填充10
        for (int i = 0; i < arr3.length; i++) {
            System.out.println(arr3[i]);
        }
          
        //数组排序
        int[] arr4 = {3, 7, 2, 1, 9};
        Arrays.sort(arr4);
        for (int i = 0; i < arr4.length; i++) {
            System.out.println(arr4[i]);
        }
          
        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[i]);
        }
          
          
        //复制数组
        int[] arr6 = {3, 7, 2, 1};
        int[] arr7=Arrays.copyOf(arr6, 10);  //指定新数组的长度
          
        int[] arr8=Arrays.copyOfRange(arr6, 1, 3); //只复制从索引[1]到索引[3]之间的元素(不包括索引[3]的元素)
        for (int i = 0; i < arr8.length; i++) {
            System.out.println(arr8[i]);
        }
          
        //比较两个数组
        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[i]);
        }
            System.out.println(set2);
        int[] arr12 = new int[set2.size()];
        int j=0;
        for (Integer i:set2) {
            arr12[j++]=i;
        }
        System.out.println(Arrays.toString(arr12));
    }
  
}

package MyTest01;
 
public class ArrayTest03 {
 
    public static void main(String[] args) {
         
        int[] arr11 = {10, 2, 3, 4,5,6,7,8,9,0,3,2,4,5,6,7,4,32,2,1,1,4,6,3};
         //计算最大值
        int max = arr11[0];
        for (int i = 1; i < arr11.length; i++) {
             if (arr11[i] > max) {
                 max = arr11[i];
            }
          }
          System.out.println("Max is " + max);
          //计算最小值
          int min = arr11[0];
          for (int i = 0; i < arr11.length; i++) {
            if (arr11[i]<min) {
                min = arr11[i];
            }
        }
          System.out.println("Min is " + min);
    }
 
}

上面的代码实例中贯穿了大部分的数组操作,这个例子只是让我们简短地认识一下Java数组的常用操作,想深入学习的小伙伴还得到动力节点在线的免费视频课程学习。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵652
程序员代码小兵652

113篇文章贡献392215字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消