![JAR search and dependency download from the Maven repository](/logo.png)
cyclops.VavrConverters Maven / Gradle / Ivy
package cyclops;
import com.aol.cyclops2.data.collections.extensions.CollectionX;
import com.aol.cyclops2.types.foldable.To;
import cyclops.collections.immutable.PersistentMapX;
import cyclops.collections.vavr.*;
import io.vavr.collection.*;
import java.util.Comparator;
import java.util.function.Function;
/**
* Class for holding conversion methods between types
* Use in conjunction with {@link To#to(Function)} for fluent conversions
*
*
* {@code
* LinkedList list1 = ListX.of(1,2,3)
* .to(Converters::LinkedList);
ArrayList list2 = ListX.of(1,2,3)
.to(Converters::ArrayList);
* }
*
*
*/
public interface VavrConverters {
public static HashMap HashMap(PersistentMapX vec){
return vec.unwrapNested(HashMap.class,
()->{
VavrHashMapX map = VavrHashMapX.copyFromMap(vec).unwrap();
return map.unwrap();
} );
}
public static ,V> TreeMap TreeMap(PersistentMapX vec){
return vec.unwrapNested(TreeMap.class,
()->{
VavrTreeMapX map = VavrTreeMapX.copyFromMap(vec,(Comparator) Comparator.naturalOrder()).unwrap();
return map.unwrap();
} );
}
public static TreeMap TreeMap(PersistentMapX vec, Comparator comp){
return vec.unwrapNested(TreeMap.class,
()->{
VavrTreeMapX map = VavrTreeMapX.copyFromMap(vec,comp).unwrap();
return map.unwrap();
} );
}
public static > TreeSet TreeSet(CollectionX vec){
return vec.unwrapNested(TreeSet.class,
()->{
VavrTreeSetX set = VavrTreeSetX.copyFromCollection(vec,(Comparator)Comparator.naturalOrder()).unwrap();
return set.unwrap();
});
}
public static HashSet HashSet(CollectionX vec){
return vec.unwrapNested(HashSet.class,
()-> {
VavrHashSetX set = VavrHashSetX.copyFromCollection(vec).unwrap();
return set.unwrap();
});
}
public static TreeSet TreeSet(CollectionX vec, Comparator comp) {
return vec.unwrapNested(TreeSet.class,
() -> {
VavrTreeSetX set = VavrTreeSetX.copyFromCollection(vec, comp).unwrap();
return set.unwrap();
});
}
public static BitSet BitSet(CollectionX vec){
return vec.unwrapNested(BitSet.class,
()->{
VavrBitSetX set = VavrBitSetX.copyFromCollection(vec).unwrap();
return set.unwrap();
} );
}
public static Queue Queue(CollectionX vec){
return vec.unwrapNested(Queue.class,
()-> {
VavrQueueX queue = VavrQueueX.copyFromCollection(vec).unwrap();
return queue.unwrap();
});
}
public static List List(CollectionX vec){
return vec.unwrapNested(List.class,
()-> {
VavrListX vector = VavrListX.copyFromCollection(vec).unwrap();
return vector.unwrap();
});
}
public static Vector Vector(CollectionX vec){
return vec.unwrapNested(Vector.class,
()-> {
VavrVectorX vector = VavrVectorX.copyFromCollection(vec).unwrap();
return vector.unwrap();
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy