// Arrays.asList("a:1.0", "b:2.0", "c:3.0") --> Map {a=1.0, b=2.0, c=3.0} Map<String, Double> kvs = new HashMap<>(); Arrays.asList("a:1.0", "b:2.0", "c:3.0") .stream() .map(elem -> elem.split(":")) .forEach(elem -> kvs.put(elem[0], Double.parseDouble(elem[1]))); System.out.println(kvs.toString()); // Map<String, Double> kvs2 = Arrays.asList("a:1.0", "b:2.0", "c:3.0") .stream() .map(elem -> elem.split(":")) .filter(elem -> elem.length==2) .collect(Collectors.toMap(e -> e[0], e -> Double.parseDouble(e[1]))); System.out.println(kvs2.toString()); //