Standard Collections
Java Collections framework
A simple way to construct a List from individual data values is to use java.utils.Arrays method Arrays.asList
List<String> data = Arrays.asList("ab", "bc", "cd", "ab", "bc", "cd");
All standard collection implementations provide constructors that take another collection as an argument adding all elements to the new collection at the time of construction:
List<String> list = new ArrayList<>(data); // will add data as is Set<String> set1 = new HashSet<>(data); // will add data keeping only unique values SortedSet<String> set2 = new TreeSet<>(data); // will add data keeping unique values and sorting Set<String> set3 = new LinkedHashSet<>(data); // will add data keeping only unique values and preserving the original order
Google Guava Collections framework
Another great framework is Google Guava that is amazing utility class (providing convenience static methods) for construction of different types of standard collections Lists and Sets:
import com.google.common.collect.Lists; import com.google.common.collect.Sets; List<String> list1 = Lists.newArrayList("ab", "bc", "cd"); List<String> list2 = Lists.newArrayList(data); Set<String> set4 = Sets.newHashSet(data); SortedSet<String> set5 = Sets.newTreeSet("bc", "cd", "ab", "bc", "cd");
Mapping Collections
Java Collections framework
Similarly for maps, given a Map<String, Object> map a new map can be constructed with all elements as follows:
Map<String, Object> map1 = new HashMap<>(map); SortedMap<String, Object> map2 = new TreeMap<>(map);
Apache Commons Collections framework
Using Apache Commons you can create Map using array in ArrayUtils.toMap as well as MapUtils.toMap:
import org.apache.commons.lang3.ArrayUtils; // Taken from org.apache.commons.lang.ArrayUtils#toMap JavaDoc // Create a Map mapping colors. Map colorMap = MapUtils.toMap(new String[][] {{ {"RED", "#FF0000"}, {"GREEN", "#00FF00"}, {"BLUE", "#0000FF"}});
Each element of the array must be either a Map.Entry or an Array, containing at least two elements, where the first element is used as key and the second as value.
Google Guava Collections framework
Utility class from Google Guava framework is named Maps:
import com.google.common.collect.Maps; void howToCreateMapsMethod(Function<? super K,V> valueFunction, Iterable<K> keys1, Set<K> keys2, SortedSet<K> keys3) { ImmutableMap<K, V> map1 = toMap(keys1, valueFunction); // Immutable copy Map<K, V> map2 = asMap(keys2, valueFunction); // Live Map view SortedMap<K, V> map3 = toMap(keys3, valueFunction); // Live Map view }
Using Stream,
Stream.of("xyz", "abc").collect(Collectors.toList());
or
Arrays.stream("xyz", "abc").collect(Collectors.toList());
Learn All in Tamil © Designed & Developed By Tutor Joes | Privacy Policy | Terms & Conditions