如何仅打印arraylist值而不重复突出显示的文本部分
引用了提供的解决方案,但看起来很复杂,请提供有关仅打印值的简单解决方案
import java.util.Arrays;
public class DuplicateNuminArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
String progLanguages[] = {"Java", "Python", "C", "C++", "Java", "C"};
for (int i = 0; i < progLanguages.length; i++) {
for (int j = i+1; j < progLanguages.length; j++)
{
if(progLanguages[i].equals(progLanguages[j]))
{
System.out.println("The Duplicate string is :" +progLanguages[i]);
}
}
}
}
我希望打印statemenet仅按以下方式打印
重复字符串是:Java,C
代替
重复字符串是:Java
重复的字符串是:C
答案 0 :(得分:2)
您将需要在数据结构中收集所有重复项(并保留唯一性)。一种这样的数据结构是集合类型Set
。像
String progLanguages[] = { "Java", "Python", "C", "C++", "Java", "C" };
Set<String> set = new LinkedHashSet<>();
for (int i = 0; i < progLanguages.length; i++) {
for (int j = i + 1; j < progLanguages.length; j++) {
if (progLanguages[i].equals(progLanguages[j])) {
set.add(progLanguages[i]);
}
}
}
System.out.printf("The Duplicate string is: %s%n", set);
答案 1 :(得分:0)
我更喜欢Elliott的答案,但是另一种答案是使用print而不是println。如果仅将一个print语句移至for循环之外,然后仅在if块的内部使用print而不是println,则只需在行末尾附加所有内容。像这样:
Deserialize<PlayEvent> yaml
甚至可以研究StringBuilder
[Succes {Data = {time = "20:03:20";
player = "Sammy Sosa";
action = "strike (miss)";};
Warn = [];}; Succes {Data = {time = "20:03:47";
player = "Sammy Sosa";
action = "grand slam";};
Warn = [];}]