数组应用之去除重复元素、Arrays数组工具的使用、二维数组、数组总结

这篇博客介绍了如何在Java中处理数组,包括去除重复元素的函数实现,Arrays工具类的使用如toString()、sort()和binarySearch(),二维数组的定义、初始化以及内存分析,并对数组特点进行了总结,强调了数组的长度固定、元素内存连续等特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、目前有数组” int[] arr = {11,2, 4, 2, 10, 11},定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的元素而且数组不准浪费长度。
1、代码:

import java.util.*;
class Demo1{
    public static void main(String[] args) {
        int[] arr =  {11,2, 4, 2, 10, 11};
        arr = clearRepeat(arr);
        System.out.println("清除重复元素的数组:"+ Arrays.toString(arr));
    }
    public static int[] clearRepeat(int[] arr){
        //先计算出重复元素的格式:
        int count = 0; //记录重复元素的个数
        for(int i = 0 ; i < arr.length-1 ; i++){
            for(int j = i+1 ; j<arr.length ; j++){
                if(arr[i]==arr[j]){
                    count++;
                    break;
                }
            }
        }
        //新数组 的长度
        int newLength = arr.length - count;
        //创建一个新的数组
        int[] newArr = new int[newLength];
        int index = 0 ;     //新数组的索引值
        //遍历旧数组
        for(int i = 0  ; i< arr.length ; i++){
            int temp = arr[i];  //旧数组中的元素 
            boolean flag = false;  //默认不是重复元素
            //拿着旧数组 的元素 与新数组的每个元素比较一次。
            for(int j = 0 ; j< newArr.length ; j++){
                if(temp==newArr[j]){
                    flag = true;
                    break;
                }
            }
            if(flag == false){
                newArr[index++] = temp;
            }
        }
        return newArr;
    }   
}

2、结果:

二、数组的工具类(Arrays):
1、将数组以字符串的形式输出(toString());
2、排序(sort())
3、找元素在数组中的位置(二分查找法) ( binarySearch())
代码示例:

三、二维数组:
1、定义:二维数组就是数组中的数组。
2、定义格式:

数据类型[][] 变量名 = new 数据类型[长度1][长度2];

3、初始化方式:
1)动态初始化:

数据类型[][] 变量名 = new 数据类型[长度1][长度2];

2)静态初始化:

数据类型[][]  变量名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...} ...}

代码示例:

4、二维数组内存分析:

代码示例:

四、数组总结:
数组的特点:
1、数组只能存储同一种数据类型的数据。
2、数组是会给存储到数组中的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1;
3、数组一旦初始化,长度固定。

4、 数组中的元素与元素之间的内存地址是连续的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值