Set vs Map for lookup code example
Example 1: maptoint vs map
Stream stream = Stream.of(1, 2, 3);
IntStream intStream = IntStream.of(4, 5, 6);
Stream s = IntStream.of(4, 5, 6);
Stream s = IntStream.of(4, 5, 6).mapToObj(e -> e);
IntStream is = Stream.of(4, 5, 6).mapToInt(e -> e);
Example 2: list vs set vs map
LIST: Can store duplicate values,
Keeps the insertion order.
It allows multiple null values,
Also we can read a certain value by index.
- ArrayList not syncronized, array based class
- LinkedList not synchronized, doubly linked
- Vector is synchronized, thread safe
SET: Can only store unique values,
And does not maintain order
- HashSet can have null, order is not guaranteed
- LinkedHashSet can have null and keeps the order
- TreeSet sorts the order and don't accept null
QUQUE : Accepts duplicates,
Doesn't have index num,
First in first our order.
MAP : is a (key-value format)
and keys are always unique,
and value can be duplicated.
- HashTable don't have null key, sychronized(thread-safe)
- LinkedHashMap can have null key, keeps order
- HasHMap can have null key, order is not guaranteed
- TreeMap doesn't have null key and keys are sorted