如何在Java中从LinkedList或String中删除重复的字母?
嘿,伙计们,我一直很难从字符串中删除重复的字母。我尝试过使用字符串方法进行循环,但我看不出有什么进展。有人知道如何从链表或字符串中删除重复的字母吗。我发送了一个字符串,其中包含一个c d e k o r t。我还有一个LinkedList word=新链表();具有相同的字母。通过利用LinkedHashSet的属性,确保其元素之间的唯一性并保持顺序:如何在Java中从LinkedList或String中删除重复的字母?,java,Java,嘿,伙计们,我一直很难从字符串中删除重复的字母。我尝试过使用字符串方法进行循环,但我看不出有什么进展。有人知道如何从链表或字符串中删除重复的字母吗。我发送了一个字符串,其中包含一个c d e k o r t。我还有一个LinkedList word=新链表();具有相同的字母。通过利用LinkedHashSet的属性,确保其元素之间的唯一性并保持顺序: String string = "foobar"; Set<Character> uniqueChars = new LinkedH
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))代码>
listWithDuplicates.stream()
.distinct()
.collect(Collectors.toList())代码>
如果有帮助,请告诉我
有关流api的详细信息和示例,请遵循以下URL:
您尝试了什么?将字符添加到集合中…除非您想删除连续的重复字母?您必须提供一个和您迄今为止尝试的内容。