我试图通过将数组转换为arraylist,然后进一步将arraylist转换为Hashset来删除重复的值。正如我们所知,哈希集不包含任何重复值。但是我没有得到任何输出。我之所以实现这个技术,是因为我想避免使用for循环。
import java.util.*;
public class RemoveDupliucate {
public static void main(String[] args) {
int a[]= {1,2,1,3,2,15,4,6,4};
List l=Arrays.asList();
TreeSet<Integer> m=new TreeSet(l);
for(Integer i:m)
{
System.out.print(i);
}
}我没有得到任何输出。
发布于 2019-08-06 15:26:02
如果您想从数组中删除重复的元素,已经有一个使用java 8流的方法,
Arrays.stream('array').distinct().toArray();它将删除所有重复的元素并返回数组。
对于您的代码,
int a[]= {1,2,1,3,2,15,4,6,4};
a = Arrays.stream(a).distinct().toArray();如果您想要删除重复项,这应该是可行的。
发布于 2019-08-06 16:08:07
这一行将创建一个空列表,这就是没有输出的原因:
List l = Arrays.asList();
它应该是这样的
List<Integer> l = Arrays.asList(1,2,1,3,2,15,4,6,4);
发布于 2019-08-06 15:26:59
您可以简单地执行以下操作:
Arrays.stream(<Your array>).distinct()
.forEach(System.out::println);返回一个由该流的不同元素(根据>Object.equals(Object))组成的流
查看有关stream的更多信息
https://stackoverflow.com/questions/57370785
复制相似问题