Java中如何去除List中的重复的值
展开全部
属性是????
先给你一个看看是不是你需要的好了,
// 利用 Set 的特性,将所有项目放入 Set
//中即可移除重复的项目
Set<String> stringSet = new HashSet<String>();
for (String element : duplicateArray) {
stringSet.add(element);
}
// Set.size() 为不重复项目的个数
String nonDuplicateArray[] = new String[stringSet.size()];
// 将 Set 中的项目取出放到 nonDuplicateArray 中
Object[] tempArray = stringSet.toArray();
for (int i = 0; i < tempArray.length; i++) {
nonDuplicateArray[i] = (String) tempArray[i];
}
展开全部
可以用Iterater方法进行迭代时,用Iterater中自带方法remove()去重,不要用list中的remove()方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-12-18
展开全部
好多方法可以,比如
方法一:使用java8新特性stream进行List去重
List newList = list.stream().distinct().collect(Collectors.toList());
System.out.println(“方法一用Java8新特性stream去重:”+newList);
方法二:利用Set特性,Set集合判断去重
Set set = new HashSet();
List newList = new ArrayList();
for (String cd:list) {
if(set.add(cd)){
newList.add(cd);
}
}
System.out.println( "Set去重后的集合: " + newList);
方法三:还可以套个for循环
更多方法可以去https://www.itkc8.com看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
List list = new ArrayList();
list.add("abc");
list.add("abc");
list.add("abc");
list.add("123");
list.add("123");
list = new ArrayList(new HashSet(list)); //核心代码
System.out.println(list);
//结果 abc 123
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.用双重循环逐一检查元素是否重复,代码如下:
public static void removeDuplicate(List list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
}
2.通过HashSet去重,代码如下:
public static void removeDuplicate1(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
}
public static void removeDuplicate(List list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
}
2.通过HashSet去重,代码如下:
public static void removeDuplicate1(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询