黑马程序员技术交流社区
标题:
如何把数组中的元素弄不重复
[打印本页]
作者:
sql26
时间:
2015-10-24 22:40
标题:
如何把数组中的元素弄不重复
如何把数组中的元素弄不重复
作者:
sharplance
时间:
2015-10-25 10:50
可以用遍历找到数组中的重复元素,然后把一个替换掉。
作者:
和静清寂
时间:
2015-10-25 11:06
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;
}
}
复制代码
作者:
顽固派。
时间:
2015-10-25 12:00
楼上正解
作者:
pp7803515
时间:
2015-10-25 14:10
有很多方法,上面的已经说得很清楚了,我说一个其他不一样的吧。把元素遍历添加到hashmap中,脚标是key,数值是vaules
作者:
jlq
时间:
2015-10-25 14:15
zhichi zhichi
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2