Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中从LinkedList或String中删除重复的字母?_Java - Fatal编程技术网

如何在Java中从LinkedList或String中删除重复的字母?

如何在Java中从LinkedList或String中删除重复的字母?,java,Java,嘿,伙计们,我一直很难从字符串中删除重复的字母。我尝试过使用字符串方法进行循环,但我看不出有什么进展。有人知道如何从链表或字符串中删除重复的字母吗。我发送了一个字符串,其中包含一个c d e k o r t。我还有一个LinkedList word=新链表();具有相同的字母。通过利用LinkedHashSet的属性,确保其元素之间的唯一性并保持顺序: String string = "foobar"; Set<Character> uniqueChars = new LinkedH

嘿,伙计们,我一直很难从字符串中删除重复的字母。我尝试过使用字符串方法进行循环,但我看不出有什么进展。有人知道如何从链表或字符串中删除重复的字母吗。我发送了一个字符串,其中包含一个c d e k o r t。我还有一个LinkedList word=新链表();具有相同的字母。

通过利用LinkedHashSet的属性,确保其元素之间的唯一性并保持顺序:

String string = "foobar";
Set<Character> uniqueChars = new LinkedHashSet<>();
for (char character : string.toCharArray()) {
    uniqueChars.add(character );
}
uniqueChars.forEach(character -> System.out.print(character)); // fobar
String String=“foobar”;
Set uniqueChars=new LinkedHashSet();
for(字符:string.toCharArray()){
唯一字符。添加(字符);
}
uniqueChars.forEach(字符->系统输出.打印(字符));//门厅
更高级的替代方案是使用Java 8流API,这将实现相同的功能:

String string = "foobar";
LinkedHashSet<Character> uniqueChars = string.chars()
        .mapToObj(character -> (char) character )
        .collect(Collectors.toCollection(LinkedHashSet::new));
uniqueChars.forEach(character -> System.out.print(character)); //fobar
String String=“foobar”;
LinkedHashSet uniqueChars=string.chars()
.mapToObj(字符->(字符)字符)
.collect(Collectors.toCollection(LinkedHashSet::new));
uniqueChars.forEach(字符->系统输出打印(字符))//门厅

有2-3种方法可以达到相同的效果,如下所示:

  • 尝试将值放入集合中

    newhashset(包含重复项的列表)

  • 使用番石榴也可以做到这一点:

    Lists.newArrayList(set.newHashSet(listWithDuplicates))

  • 最后,让我们看一个新的解决方案,在Java8中使用Lambdas;我们将使用Stream API中的distinct()方法,该方法根据equals()方法返回的结果返回由不同元素组成的流:

  • listWithDuplicates.stream()
    .distinct()
    .collect(Collectors.toList())

    如果有帮助,请告诉我

    有关流api的详细信息和示例,请遵循以下URL:


    您尝试了什么?将字符添加到集合中…除非您想删除连续的重复字母?您必须提供一个和您迄今为止尝试的内容。