- package com.itheima;
- import java.util.ArrayList;
- /**
- * 6、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
- *
- * @author baip
- *
- */
- public class Test06 {
- public static void main(String[] args) {
- // 创建一个数组
- int[] arr = { 4, 2, 4, 6, 1, 2, 4, 7, 8 };
- // 数组去重复前
- System.out.println("数组去重复前:");
- printArray(arr);
- // 调用数组去重复的功能
- int[] arr2 = quChong(arr);
- // 数组去重复后
- System.out.println("数组去重复后:");
- printArray(arr2);
- }
- // 遍历数组功能
- public static void printArray(int[] arr) {
- System.out.print("[");
- for (int i = 0; i < arr.length; i++) {
- if (i != arr.length - 1) {
- System.out.print(arr[i] + ",");
- } else {
- System.out.print(arr[i] + "]");
- }
- }
- System.out.println(); //数组遍历完就换行
- }
- // 数组去重功能
- public static int[] quChong(int[] arr) {
- //创建一个ArrayList集合对象
- ArrayList<Integer> list = new ArrayList<Integer>();
- //遍历传进来的数组,获取每一个数组元素
- for (int n : arr) {
- //如果list集合不存在该元素,就把该元素添加到集合;如果存在,则不添加
- if (!list.contains(n)) {
- list.add(n);
- }
- }
- //创建一个新的数组用于存储集合内的元素,所以数组的长度和list集合的长度相同
- int[] arr2 = new int[list.size()];
- //遍历list集合并把list集合的元素复制给数组arr2的对应外置
- for (int i = 0; i < list.size(); i++) {
- arr2[i] = list.get(i);
- }
- //返回去重后的数组
- return arr2;
- }
- }
复制代码
|