@Override public synchronized Object compute(Object key, BiFunction<? super Object, ? super Object, ?> remappingFunction) { return propertyMap.compute(key, remappingFunction); }
private static <T, X> Collector<T, ?, X> mode0(Function<? super Seq<Tuple2<T, Long>>, ? extends X> transformer) { return Collector.of( () -> new LinkedHashMap<T, Long>(), (m, v) -> m.compute(v, (k1, v1) -> v1 == null ? 1L : v1 + 1L), (m1, m2) -> { m1.putAll(m2); return m1; }, m -> Seq.seq(m).transform(transformer) ); }
private void addVariant(Variant variant, String chromosome, long slicePos) { List<Variant> list; TreeMap<Long, List<Variant>> positionMap = bufferTree.compute(chromosome, (s, map) -> map == null ? new TreeMap<>(Long::compareTo) : map); list = positionMap.compute(slicePos, (pos, variants) -> variants == null ? new LinkedList<>() : variants); if (list.isEmpty()) { // New list, new slice numSlices++; } list.add(variant); if (currentChromosome == null) { // Set first chromosome currentChromosome = chromosome; } }
private static <T, X> Collector<T, ?, X> mode0(Function<? super Seq<Tuple2<T, Long>>, ? extends X> transformer) { return Collector.of( () -> new LinkedHashMap<T, Long>(), (m, v) -> m.compute(v, (k1, v1) -> v1 == null ? 1L : v1 + 1L), (m1, m2) -> { m1.putAll(m2); return m1; }, m -> Seq.seq(m).transform(transformer) ); }
/** * Get a {@link Collector} that calculates the <code>MODE()</code> function. */ public static <T, U> Collector<T, ?, Seq<T>> modeAllBy(Function<? super T, ? extends U> function) { return Collector.of( () -> new LinkedHashMap<U, List<T>>(), (m, t) -> m.compute(function.apply(t), (k, l) -> { List<T> result = l != null ? l : new ArrayList<>(); result.add(t); return result; }), (m1, m2) -> { for (Entry<U, List<T>> e : m2.entrySet()) { List<T> l = m1.get(e.getKey()); if (l == null) m1.put(e.getKey(), e.getValue()); else l.addAll(e.getValue()); } return m1; }, m -> Seq.seq(m).maxAllBy(t -> t.v2.size()).flatMap(t -> Seq.seq(t.v2)) ); }
/** * Get a {@link Collector} that calculates the <code>MODE()</code> function. */ public static <T, U> Collector<T, ?, Seq<T>> modeAllBy(Function<? super T, ? extends U> function) { return Collector.of( () -> new LinkedHashMap<U, List<T>>(), (m, t) -> m.compute(function.apply(t), (k, l) -> { List<T> result = l != null ? l : new ArrayList<>(); result.add(t); return result; }), (m1, m2) -> { for (Entry<U, List<T>> e : m2.entrySet()) { List<T> l = m1.get(e.getKey()); if (l == null) m1.put(e.getKey(), e.getValue()); else l.addAll(e.getValue()); } return m1; }, m -> Seq.seq(m).maxAllBy(t -> t.v2.size()).flatMap(t -> Seq.seq(t.v2)) ); }