Java Collections-the 不重复的字数
Java Collections-the number of words without repetition
我想创建一个方法,我们将 text(String) 作为输入参数。
该方法将 return 个单词不重复。
例如:“猫、狗、猫、鸟、猴”
returnvalue:4
如何比较每个 Collections 项目?
我已经拥有的:
public class WordsCounter {
public static void main(String[] args) {
uniqueWordsCounter("cat, dog, Cat, Bird, monkey");
}
public static void uniqueWordsCounter(String text) {
String processedText = text.toLowerCase().replaceAll(",", "");
String[] words = processedText.split("\s");
List<String> wordsList = Arrays.asList(words);
}
}
在使用分隔符 ","" 分隔字符串后,您可以使用集合来跟踪字符串中存在的所有唯一元素
在您的示例中,您保持 cat 和 Cat 相同(忽略大小写)。因此,您可以使用此逻辑。
public class WordsCounter {
public static void main(String[] args) {
int count = uniqueWordsCounter("cat,dog,Cat,Bird,monkey");
System.out.println(count);
}
public static int uniqueWordsCounter(String text) {
String str[] = text.split(",");
Set<String> set = new HashSet<>() ;
for( String temp : str)
{
if ( !set.contains(temp.toLowerCase()))
{
set.add(temp);
}
}
return set.size();
}
}
输出为
4
一种方法是使用 distinct()
operation from the stream API:
import java.util.*;
public class WordsCounter {
public static void main(String[] args) {
uniqueWordsCounter("cat, dog, Cat, Bird, monkey");
}
public static void uniqueWordsCounter(String text) {
String[] words = text.toLowerCase().split(",\s*");
List<String> wordsList = Arrays.asList(words);
System.out.println(wordsList);
System.out.println("Count of distinct elements: "
+ wordsList.stream().distinct().count());
}
}
示例运行:
$ java Demo.java
[cat, dog, cat, bird, monkey]
Count of distinct elements: 4
请注意在逗号后跟可选空格而不是替换逗号然后拆分,以帮助简化事情。
我想创建一个方法,我们将 text(String) 作为输入参数。 该方法将 return 个单词不重复。 例如:“猫、狗、猫、鸟、猴” returnvalue:4
如何比较每个 Collections 项目? 我已经拥有的:
public class WordsCounter {
public static void main(String[] args) {
uniqueWordsCounter("cat, dog, Cat, Bird, monkey");
}
public static void uniqueWordsCounter(String text) {
String processedText = text.toLowerCase().replaceAll(",", "");
String[] words = processedText.split("\s");
List<String> wordsList = Arrays.asList(words);
}
}
在使用分隔符 ","" 分隔字符串后,您可以使用集合来跟踪字符串中存在的所有唯一元素 在您的示例中,您保持 cat 和 Cat 相同(忽略大小写)。因此,您可以使用此逻辑。
public class WordsCounter {
public static void main(String[] args) {
int count = uniqueWordsCounter("cat,dog,Cat,Bird,monkey");
System.out.println(count);
}
public static int uniqueWordsCounter(String text) {
String str[] = text.split(",");
Set<String> set = new HashSet<>() ;
for( String temp : str)
{
if ( !set.contains(temp.toLowerCase()))
{
set.add(temp);
}
}
return set.size();
}
}
输出为
4
一种方法是使用 distinct()
operation from the stream API:
import java.util.*;
public class WordsCounter {
public static void main(String[] args) {
uniqueWordsCounter("cat, dog, Cat, Bird, monkey");
}
public static void uniqueWordsCounter(String text) {
String[] words = text.toLowerCase().split(",\s*");
List<String> wordsList = Arrays.asList(words);
System.out.println(wordsList);
System.out.println("Count of distinct elements: "
+ wordsList.stream().distinct().count());
}
}
示例运行:
$ java Demo.java
[cat, dog, cat, bird, monkey]
Count of distinct elements: 4
请注意在逗号后跟可选空格而不是替换逗号然后拆分,以帮助简化事情。