java删除数组中重复元素

GXW33 2011-10-08 02:30:04
java删除数组中重复元素
...全文
16733 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
luyun2011 2011-10-10
  • 打赏
  • 举报
回复
先把数组中元素放入set集合中啊,然后从set中取出来,得到的就是去除重复数据之后的
张祥 2011-10-10
  • 打赏
  • 举报
回复
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);
}
jesus7_w 2011-10-10
  • 打赏
  • 举报
回复
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
HashSet<Integer> set = new HashSet<Integer>();
for (int i : nums) {
set.add(i);
}
杀猪剑客 2011-10-09
  • 打赏
  • 举报
回复
Set有一个构造方法 参数就是list
[Quote=引用 6 楼 soli11722984 的回复:]
都這麽複雜啊


Java code


public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : ……
[/Quote]
chcchb 2011-10-09
  • 打赏
  • 举报
回复
set方法不错
WWdsaf5977129 2011-10-09
  • 打赏
  • 举报
回复
牛人多,继续拜读。。。。。。。。。
java爱好者 2011-10-09
  • 打赏
  • 举报
回复
一句话搞定:
System.out.println(new LinkedHashSet<Integer>(Arrays.asList(5, 6, 6, 6, 8, 8, 7)));
ETCentury 2011-10-09
  • 打赏
  • 举报
回复
牛人太多了,膜拜中。。。。。。
阿甘1976 2011-10-09
  • 打赏
  • 举报
回复

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());
}

}
}
liyangyun1986 2011-10-09
  • 打赏
  • 举报
回复
最简单的方法就是丢到set集合中去~
剑神一笑 2011-10-09
  • 打赏
  • 举报
回复
不用set也很容易的
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);
}
walkman_22 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 soli11722984 的回复:]
都這麽複雜啊


Java code

public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nu……
[/Quote]

我也是这个思路。
leisore 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jiangxiayang 的回复:]

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, ……
[/Quote]
再稍微简单点的(不考虑性能的话):

Integer[] nums = { 5, 6, 6, 6, 8, 8, 7 };
Set<Integer> numSet = new LinkedHashSet<Integer>(Arrays.asList(nums));
System.out.println(numSet);
wingson_shen 2011-10-09
  • 打赏
  • 举报
回复
我们项目中的工具类,用来去掉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;
}


dfox_java 2011-10-09
  • 打赏
  • 举报
回复

//简单的for循环
for(int i=1;i<arr.length;i++){
for(j=0;j<i;j++){
if(arr[i]==arr[j]){
随便干嘛。。


}
}
}
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 soli11722984 的回复:]
都這麽複雜啊


Java code

public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nu……
[/Quote]
zzz~~
TKD03072010 2011-10-08
  • 打赏
  • 举报
回复
用set集合就行了
jiunizhuai 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 soli11722984 的回复:]

都這麽複雜啊

Java code

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)
……
[/Quote]


这个不错,通过集合转换,用treeset 还可以排序,呵呵
-迷糊- 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 soli11722984 的回复:]

都這麽複雜啊

Java code

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)
……
[/Quote]
先顶一下,但是这样顺序不就乱了么。
lliiqiang 2011-10-08
  • 打赏
  • 举报
回复
从第一个遍历,查看前面是否有重复的,有就删除
加载更多回复(8)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧