流程思路
Java写法
import java.util.ArrayList;
import java.util.List;
public class RemoveRepeat {
public static void main(String[] args) {
//源数组
int[] data = new int[]{2, 4, 6, 8, 4, 7, 8, 9};
//新数组
List<Integer> newData = new ArrayList<Integer>();
//源数组的第一个元素在新数组里肯定没有,因此可以直接添加进去
newData.add(data[0]);
//遍历源数组
for (int i = 0; i < data.length; i++) {
//遍历新数组
for (int j = 0; j < newData.size(); j++) {
//发现存在重复元素则跳出循环
if (data[i] == newData.get(j).intValue()) {
break;
}
//到新数组的尾端还没有发现重复元素,则将元素添加进新数组
if (newData.size() - 1 == j) {
newData.add(data[i]);
}
}
}
System.out.println(newData);
}
}
Java写法验证
JavaScript写法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>removeRepeate</title>
</head>
<body>
<script type="text/javascript">
//源数组
var data = [2, 4, 6, 8, 4, 7, 8, 9];
//新数组
var newdata = [];
//源数组的第一个元素在新数组里肯定没有,因此可以直接添加进去
newdata[0] = data[0];
//遍历源数组
for(var i=0;i<data.length;i++){
//遍历新数组
for(var k=0;k<newdata.length;k++){
//发现存在重复元素则跳出循环
if(newdata[k] == data[i]){
break;
}
//到新数组的尾端还没有发现重复元素,则将元素添加进新数组
if(k == newdata.length-1){
newdata.push(data[i]);
}
}
}
console.log(newdata);
</script>
</body>
</html>
JavaScript验证结果
小结
这里的数组去重主要通过两重循环的方法,遍历后判断,把源数组不存在的元素加进新数组里,从而完成数组去重。