我想知道Java中是否有一个函数从字符串数组中检索一个字符串,如果其他字符串相同,即如果我的数组中有:yes,yes,yes,yes,no,no,no,no ..我只想得到一个是和一个否并显示它们!而不是使用 for 循环和比较!,只是我想知道这个函数在Java中是否存在。
问问题
82 次
4 回答
4
将所有这些插入一个集合。然后你会得到这样的
String[] array = {"yes","yes","yes","yes","no","no","no","no"};
Set<String> mySet = new HashSet<String>(Arrays.asList(array));
Set 不允许重复。
最后该集合包含yes
和no
(只有 2 个元素)
于 2013-07-18T10:48:54.737 回答
2
如果这是你的数组
String[] a = {"yes","yes","yes","yes","no","no","no","no"};
那么这将显示唯一值
System.out.println(new HashSet(Arrays.asList(a)));
于 2013-07-18T10:50:26.720 回答
1
尝试这样的事情
String[] arr=new String[]{"yes","yes","yes","yes","no","no","no","no"};
Object[] unique = new HashSet<>(Arrays.asList(arr)).toArray();
System.out.println(unique[0]);
System.out.println(unique[1]);
于 2013-07-18T10:59:30.860 回答
1
将您的数组转储到一个集合中并使用它:
Set uniqueStrings = new HashSet(Arrays.asList(yourArray));
如果您再次需要它作为数组,您可以使用
String[] uniqueStringsArray = uniqueStrings.toArray(new String[uniqueStrings.size()]);
在内部,它遍历数组并比较字符串。你无法避免这一点。
于 2013-07-18T10:55:32.300 回答