我确信这有一个简单的答案,因为我认为我以前曾经使用或听过它,但似乎无法找到它,可能是因为谷歌不懂英语。基本上我需要类似或不同于不允许重复值的数组(在Java中)。
示例:int [] example = {1,2,2,3,4,4}
将是{1,2,3,4}
希望这很清楚,即使谷歌不能理解人类也能理解。
答案 0 :(得分:8)
您应该使用Set实现。而且Java中的数组也不能像集合一样,但是使用像HashSet
这样的Set实现,可以管理集合中元素的唯一性。
答案 1 :(得分:1)
您可以使用HashSet
。
对于整数,它将工作正常。但稍后如果您打算存储Objects
,则应覆盖hashCode()
和equals()
方法。因为HashSet在内部使用equals()
和hashcode()
来检查是否相等。
答案 2 :(得分:0)
尝试使用Set
实施
例如:
public static void main(String[] args) {
Set<Integer> numbers = new HashSet<>();
numbers.add(3);
numbers.add(5);
numbers.add(5);
numbers.add(5);
numbers.add(6);
numbers.add(12);
System.out.println(numbers);
}
将产生:
[3, 5, 6, 12]
答案 3 :(得分:0)
import java.util.HashSet;
import java.util.Set;
public static void main(String[] args) {
Set<Integer> numbers = new HashSet<Integer>();
numbers.add(3);
numbers.add(5);
numbers.add(5);
numbers.add(5);
numbers.add(6);
numbers.add(12);
System.out.println(numbers);
}
Take this.you can get what you want to get.
答案 4 :(得分:0)
尝试使用Hashset
public static Integer[] removeDuplicateUsingSet(Integer[] example) {
List<Integer> inputList = Arrays.asList(example);
Set<Integer> inputSet = new HashSet<Integer>(inputList);
Integer[] ints = new Integer[inputSet.size()];
int index = 0;
for (Integer i : inputSet) {
ints[index++] = i;
}
return ints;
}
public static void main(String[] args) {
Integer[] example = { 1, 2, 2, 3, 4, 4 };
example = removeDuplicateUsingSet(example);
for(int i = 0 ;i < example.length;i++){
System.out.println(example[i]);
}
}
答案 5 :(得分:0)
如果可以在添加元素时使用哈希集,则不允许重复值,否则您可以像这样使用:
Gson gson = new GsonBuilder().create();
JsonArray customArray = gson.toJsonTree(list.getAsJsonArray();
JSONArray jsonArray = new JSONArray(customArray.toString()); // here i am getting out of memory
schoolListObject.put("list", jsonArray);