我有一个巨大的排序数组(大约3000个字符串), 我需要为每个不同的字符串创建一个对象, 因此,我需要创建一个对象数组,其大小等于原始数组中的不同字符串。
有什么建议吗?
由于
答案 0 :(得分:0)
我认为Set是您正在寻找的。试试自己,如果您需要任何帮助,请提出具体问题。
答案 1 :(得分:0)
伪代码:
previous = Null
sum_size = 0
for (String current: yourarray) {
if (!current.equals(previous)) {
sum_size += current.size()
}
previous = current
}
sum_size是数组中不同元素的添加大小。
答案 2 :(得分:0)
好吧,如果你需要不同的元素而不仅仅是数字,你可以使用Set。
套装是:
不包含重复元素的集合。
您不断将元素添加到集合中,然后只查看集合包含的内容。
类似的东西:
public static String[] getDistinct(String[] input) {
Set<String> distinct = new HashSet<String>();
for(String element : input) {
distinct.add(element);
}
return distinct.toArray(new String[0]);
}
用法:
String[] input = new String[] {"a", "b", "a", "c", "a", "b", "d"};
String[] distinct = getDistinct(input);
for(String element : distinct) {
System.out.println(element);
}
结果:
d b c a
请注意,可能无法保留元素的顺序。
要查找不同元素的数量,请使用:
getDistinct(input).length