大数据必学Java基础(二十六):数组的应用题

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据必学Java基础(二十六):数组的应用题相关的知识,希望对你有一定的参考价值。

文章目录

数组的应用题

一、最值问题

1、实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数

2、 将求最大值的方法提取出来

3、画内存

二、查询问题

1、查询指定位置的元素

2、查询指定元素的位置--》找出元素对应的索引

3、将查指定元素对应的索引的功能提取为方法

三、添加元素

1、实现一个功能

2、将添加功能提取为一个方法 

四、删除元素

1、实现一个功能:删除指定位置上的元素


数组的应用题

一、最值问题

1、实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数

思路图:

public class TestArray04
    public static void main(String[] args)
                //实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数。
                //1.给定一个数组
                int[] arr = 12,3,7,4,8,125,9,45,666,36;
                
                //2.求出数组中的最大值:
                //先找一个数上擂台,假定认为这个数最大:
                int maxNum = arr[0];
                for(int i=0;i<arr.length;i++)
                        if(arr[i]>maxNum)
                                maxNum = arr[i];
                        
                
                System.out.println("当前数组中最大的数为:"+maxNum);
                
        

 

2、 将求最大值的方法提取出来

public class TestArray04
    public static void main(String[] args)
                //实现一个功能:给定一个数组int[] arr = 12,3,7,4,8,125,9,45; ,求出数组中最大的数。
                //1.给定一个数组
                int[] arr = 12,3,7,4,8,725,9,45,666,36;
                
                //2.求出数组中的最大值:
                //调用方法:
                int num = getMaxNum(arr);
                System.out.println("当前数组中最大的数为:"+num);
        
        
        /*
        想提取一个方法:求数组中的最大值
        求哪个数组中的最大值 ---》不确定因素:哪个数组 (形参)---》返回值:最大值
        */
        public static int getMaxNum(int[] arr)
                //先找一个数上擂台,假定认为这个数最大:
                int maxNum = arr[0];
                for(int i=0;i<arr.length;i++)
                        if(arr[i]>maxNum)
                                maxNum = arr[i];
                        
                
                return maxNum;
                
        

3、画内存

方法的实参传递给形参的时候一定要注意:一切都是值传递: 

如果是基本数据类型,那么传递的就是字面值 

如果是引用数据类型,那么传递的就是地址值 

二、查询问题

1、查询指定位置的元素

public class TestArray05
    public static void main(String[] args)
                //查询指定位置的元素
                //给定一个数组:
                int[] arr = 12,34,56,7,3,10;
                //查找索引为2的位置上对应的元素是什么?
                System.out.println(arr[2]);
        

上面代码体现了数组的一个优点:

在按照位置查询的时候,直接一步到位,效率非常高

2、查询指定元素的位置--》找出元素对应的索引

public class TestArray06
    public static void main(String[] args)
                //查询指定元素的位置--》找出元素对应的索引 
                //给定一个数组:
                int[] arr = 12,34,56,7,3,56;
                //           0  1  2  3 4  5
                
                //功能:查询元素888对应的索引:
                int index = -1; //这个初始值只要不是数组的索引即可
                for(int i=0;i<arr.length;i++)
                        if(arr[i]==12)
                                index = i;//只要找到了元素,那么index就变成为i
                                break;//只要找到这个元素,循环就停止
                        
                
                if(index!=-1)
                        System.out.println("元素对应的索引:"+index);
                else//index==-1
                        System.out.println("查无次数!");
                
        

3、将查指定元素对应的索引的功能提取为方法

public class TestArray06
    public static void main(String[] args)
                //查询指定元素的位置--》找出元素对应的索引 
                //给定一个数组:
                int[] arr = 12,34,56,7,3,56;
                //           0  1  2  3 4  5
                
                //功能:查询元素888对应的索引:
                //调用方法:
                int index = getIndex(arr,999);
                //后续对index的值进行判断:
                if(index!=-1)
                        System.out.println("元素对应的索引:"+index);
                else//index==-1
                        System.out.println("查无次数!");
                
        
        
        /*
        定义一个方法:查询数组中指定的元素对应的索引:
        不确定因素:哪个数组,哪个指定元素  (形参)
        返回值:索引
        
        */
        public static int getIndex(int[] arr,int ele)
                int index = -1; //这个初始值只要不是数组的索引即可
                for(int i=0;i<arr.length;i++)
                        if(arr[i]==ele)
                                index = i;//只要找到了元素,那么index就变成为i
                                break;//只要找到这个元素,循环就停止
                        
                
                return index;
        

三、添加元素

1、实现一个功能

添加逻辑

 

public class TestArray07
    public static void main(String[] args)
                //功能:给定一个数组,在数组下标为2的位置上添加一个元素91
                
                //1.给定一个数组:
                int[] arr = 12,34,56,7,3,10,55,66,77,88,999,89;
                //           0  1   2 3 4 5
                //2.输出增加元素前的数组:
                System.out.print("增加元素前的数组:");
                for(int i=0;i<arr.length;i++)
                        if(i!=arr.length-1)
                                System.out.print(arr[i]+",");
                        else//i==arr.length-1 最后一个元素不用加,
                                System.out.print(arr[i]);
                        
                
                
                //3.增加元素
                /*
                arr[5] = arr[4];
                arr[4] = arr[3];
                arr[3] = arr[2];
                */
                int index = 1;//在这个指定位置添加 元素
                for(int i=arr.length-1;i>=(index+1);i--)
                        arr[i] = arr[i-1];
                
                arr[index] = 666;
                
                
                //4.输出增加元素后的数组:
                System.out.print("\\n增加元素后的数组:");
                for(int i=0;i<arr.length;i++)
                        if(i!=arr.length-1)
                                System.out.print(arr[i]+",");
                        else//i==arr.length-1 最后一个元素不用加,
                                System.out.print(arr[i]);
                        
                
                
        	

2、将添加功能提取为一个方法 

import java.util.Scanner;
public class TestArray07
    public static void main(String[] args)
                //功能:给定一个数组,在数组下标为2的位置上添加一个元素91
                
                //1.给定一个数组:
                int[] arr = 12,34,56,7,3,10,55,66,77,88,999,89;
                //           0  1   2 3 4 5
                //2.输出增加元素前的数组:
                /*
                System.out.print("增加元素前的数组:");
                for(int i=0;i<arr.length;i++)
                        if(i!=arr.length-1)
                                System.out.print(arr[i]+",");
                        else//i==arr.length-1 最后一个元素不用加,
                                System.out.print(arr[i]);
                        
                
                */
                
                //从键盘接收数据:
                Scanner sc = new Scanner(System.in);
                System.out.println("请录入你要添加元素的指定下标:");
                int index = sc.nextInt();
                System.out.println("请录入你要添加的元素:");
                int ele = sc.nextInt();
                
                //3.增加元素
                //调用方法:
                insertEle(arr,index,ele);
                
                
                
                //4.输出增加元素后的数组:
                System.out.print("\\n增加元素后的数组:");
                for(int i=0;i<arr.length;i++)
                        if(i!=arr.length-1)
                                System.out.print(arr[i]+",");
                        else//i==arr.length-1 最后一个元素不用加,
                                System.out.print(arr[i]);
                        
                
                
        	
        
        
        /*
        提取一个添加元素的方法:
        在数组的指定位置上添加一个指定的元素。
        在哪个数组的哪个位置添加哪个元素!
        不确定因素:形参:哪个数组,哪个位置,哪个元素
        返回值:无
        
        */
        public static void insertEle(int[] arr,int index,int ele)
                for(int i=arr.length-1;i>=(index+1);i--)
                        arr[i] = arr[i-1];
                
                arr[index] = ele;
        

四、删除元素

1、实现一个功能:删除指定位置上的元素

删除逻辑

import java.util.Arrays;
public class TestArray08
    public static void main(String[] args)
                //功能:给定一个数组,删除下标为2元素
                
                //1.给定一个数组:
                int[] arr = 12,34,56,7,3,10,34,45,56,7,666;
                //           0  1   2 3 4 5
                //2.输出删除前的数组:
                System.out.println("删除元素前的数组:"+Arrays.toString(arr));
                
                //3.删除
                /*
                arr[2] = arr[3];
                arr[3] = arr[4];
                arr[4] = arr[5];
                */
                int index = 0;
                for(int i=index;i<=arr.length-2;i++)
                        arr[i] = arr[i+1];
                
                arr[arr.length-1] = 0;
                
                //4.输出删除后的数组:
                System.out.println("删除元素后的数组:"+Arrays.toString(arr));
        

 


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨ 

以上是关于大数据必学Java基础(二十六):数组的应用题的主要内容,如果未能解决你的问题,请参考以下文章

大数据必学Java基础(二十八):Arrays工具类和数组的复制操作

大数据必学Java基础(二十五):数组的三种初始化方式

大数据必学Java基础(八十六):元注解的深入了解

大数据必学Java基础(一百二十四):Maven的常见插件

大数据必学Java基础(一百二十四):Maven的常见插件

大数据必学Java基础(五十六):LinkedList实现类的使用