java删除数组中重复元素
java删除数组中重复元素 --------------------编程问答-------------------- 倒到SET裏面去 --------------------编程问答-------------------- element as map key --------------------编程问答-------------------- 可以排序,再删除 --------------------编程问答-------------------- int[] arr = new int[]{1,2,3,4,23,3,5,1};ArrayList<Integer> arrList = new ArrayList<Integer>();
for(int i=0; i<arr.length; i++)
{
if(!arrList.contains(arr[i]))
arrList.add(arr[i]);
}
Iterator<Integer> inter = arrList.iterator();
while(inter.hasNext())
System.out.println(inter.next()); --------------------编程问答-------------------- package demo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Shanchu {
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
numList.add(i);
System.out.println(numList);
//做删除
Iterator<Integer> it = numList.iterator();
int temp = -1;
if (it.hasNext())
temp = it.next();
while (it.hasNext()) {
int i = it.next();
if (i == temp) {
it.remove();
} else {
temp = i;
}
}
System.out.println(numList);
}
}
--------------------编程问答-------------------- 都這麽複雜啊
--------------------编程问答--------------------
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
numList.add(i);
Set<Integer> numSet = new HashSet<Integer>();
numSet.addAll(numList);
System.out.println(numSet);
}
顶一个 --------------------编程问答--------------------
牛人,膜拜下,怎么想到的 --------------------编程问答-------------------- 从第一个遍历,查看前面是否有重复的,有就删除 --------------------编程问答--------------------
先顶一下,但是这样顺序不就乱了么。 --------------------编程问答--------------------
这个不错,通过集合转换,用treeset 还可以排序,呵呵 --------------------编程问答-------------------- 用set集合就行了 --------------------编程问答--------------------
zzz~~ --------------------编程问答--------------------
我也是这个思路。 --------------------编程问答-------------------- 不用set也很容易的
public static void main(String[] args) {--------------------编程问答-------------------- 最简单的方法就是丢到set集合中去~ --------------------编程问答--------------------
String[] s = {"1","10","15","14","111","133","12","13","1","13"};
List<String> l = new ArrayList<String>();
for(String a:s){
if(!l.contains(a)){
l.add(a);
}
}
System.out.println(l);
}
--------------------编程问答-------------------- 牛人太多了,膜拜中。。。。。。 --------------------编程问答-------------------- set方法不错 --------------------编程问答-------------------- Set有一个构造方法 参数就是list
import java.util.*;
class TestSet
{
public static void main(String[] args)
{
Integer[] nums = { 5, 5, 6, 6, 6, 8, 8, 7, 11, 12, 12 };
HashSet hset = new HashSet(Arrays.asList(nums));
Iterator i = hset.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
}
--------------------编程问答--------------------
//简单的for循环
for(int i=1;i<arr.length;i++){
for(j=0;j<i;j++){
if(arr[i]==arr[j]){
随便干嘛。。
}
}
} --------------------编程问答-------------------- 我们项目中的工具类,用来去掉List中空值和相同项的。
--------------------编程问答--------------------
public <T> List<T> removeSameItem(List<T> list) {
List<T> difList = new ArrayList<T>();
for(T t : list){
if(t != null && !difList.contains(t)){
difList.add(t);
}
}
return difList;
}
再稍微简单点的(不考虑性能的话):
--------------------编程问答-------------------- 一句话搞定:
Integer[] nums = { 5, 6, 6, 6, 8, 8, 7 };
Set<Integer> numSet = new LinkedHashSet<Integer>(Arrays.asList(nums));
System.out.println(numSet);
System.out.println(new LinkedHashSet<Integer>(Arrays.asList(5, 6, 6, 6, 8, 8, 7))); --------------------编程问答-------------------- 牛人多,继续拜读。。。。。。。。。 --------------------编程问答-------------------- 先把数组中元素放入set集合中啊,然后从set中取出来,得到的就是去除重复数据之后的 --------------------编程问答-------------------- int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
HashSet<Integer> set = new HashSet<Integer>();
for (int i : nums) {
set.add(i);
} --------------------编程问答-------------------- public static void main(String[] args) {
String[] s = {"1","10","15","14","111","133","12","13","1","13"};
List<String> l = new ArrayList<String>();
for(String a:s){
if(!l.contains(a)){
l.add(a);
}
}
System.out.println(l);
}
补充:Java , Java SE