doubleSet.add(RANDOM.nextDouble()); _doubleValues = doubleSet.toDoubleArray(); Arrays.sort(_doubleValues);
private void serializeSet(final DataOutput out, final Set set) throws IOException { Class oCls = set.getClass(); if (oCls.equals(IntOpenHashSet.class)) { serialize(out, ((IntOpenHashSet) set).toIntArray()); } else if (oCls.equals(FloatOpenHashSet.class)) { serialize(out, ((FloatOpenHashSet) set).toFloatArray()); } else if (oCls.equals(DoubleOpenHashSet.class)) { serialize(out, ((DoubleOpenHashSet) set).toDoubleArray()); } else if (oCls.equals(ShortOpenHashSet.class)) { serialize(out, ((ShortOpenHashSet) set).toShortArray()); } else if (oCls.equals(ByteOpenHashSet.class)) { serialize(out, ((ByteOpenHashSet) set).toByteArray()); } else if (oCls.equals(LongOpenHashSet.class)) { serialize(out, ((LongOpenHashSet) set).toLongArray()); } else if (oCls.equals(BooleanOpenHashSet.class)) { serialize(out, ((BooleanOpenHashSet) set).toBooleanArray()); } else if (oCls.equals(CharOpenHashSet.class)) { serialize(out, ((CharOpenHashSet) set).toCharArray()); } else { serialize(out, set.size()); for (Object obj : set) { serialize(out, obj); } } }
private void serializeSet(final DataOutput out, final Set set) throws IOException { Class oCls = set.getClass(); if (oCls.equals(IntOpenHashSet.class)) { serialize(out, ((IntOpenHashSet) set).toIntArray()); } else if (oCls.equals(FloatOpenHashSet.class)) { serialize(out, ((FloatOpenHashSet) set).toFloatArray()); } else if (oCls.equals(DoubleOpenHashSet.class)) { serialize(out, ((DoubleOpenHashSet) set).toDoubleArray()); } else if (oCls.equals(ShortOpenHashSet.class)) { serialize(out, ((ShortOpenHashSet) set).toShortArray()); } else if (oCls.equals(ByteOpenHashSet.class)) { serialize(out, ((ByteOpenHashSet) set).toByteArray()); } else if (oCls.equals(LongOpenHashSet.class)) { serialize(out, ((LongOpenHashSet) set).toLongArray()); } else if (oCls.equals(BooleanOpenHashSet.class)) { serialize(out, ((BooleanOpenHashSet) set).toBooleanArray()); } else if (oCls.equals(CharOpenHashSet.class)) { serialize(out, ((CharOpenHashSet) set).toCharArray()); } else { serialize(out, set.size()); for (Object obj : set) { serialize(out, obj); } } }
private UniqueDouble(Var var, boolean sorted) { super(sorted); DoubleOpenHashSet keySet = new DoubleOpenHashSet(); for (int i = 0; i < var.rowCount(); i++) { keySet.add(var.getDouble(i)); } double[] elements = keySet.toDoubleArray(); if (sorted) { DoubleArrays.quickSort(elements, new UniqueDoubleComparator()); } Double2IntOpenHashMap uniqueKeys = new Double2IntOpenHashMap(); values = new DoubleArrayList(elements); for (int i = 0; i < elements.length; i++) { uniqueKeys.put(elements[i], i); } rowLists = new Int2ObjectOpenHashMap<>(); for (int i = 0; i < var.rowCount(); i++) { double key = var.getDouble(i); int id = uniqueKeys.get(key); if (!rowLists.containsKey(id)) { rowLists.put(id, new IntArrayList()); } rowLists.get(id).add(i); } updateIdsByRow(var.rowCount()); }