Is there any equivalent of zip method from pyton in java?
a = ("John", "Charles", "Mike")
b = ("Jenny", "Christy", "Monica")
x = zip(a, b)
(('John', 'Jenny'), ('Charles', 'Christy'), ('Mike', 'Monica'))
Is there any equivalent of zip method from pyton in java?
a = ("John", "Charles", "Mike")
b = ("Jenny", "Christy", "Monica")
x = zip(a, b)
(('John', 'Jenny'), ('Charles', 'Christy'), ('Mike', 'Monica'))
 
    
    I found solution with IntStream
List<String> names1 = new ArrayList<>(Arrays.asList("John", "Charles", "Mike", "Dennis"));
List<String> names2 = new ArrayList<>(Arrays.asList("Jenny", "Christy", "Monica"));
IntStream
  .range(0, Math.min(names1.size(), names2.size()))
  .mapToObj(i -> names1.get(i) + ":" + names2.get(i))
  .toList();
But better looks solution with JOOL library
Seq
  .of("John","Charles", "Mike")
  .zip(Seq.of("Jenny", "Christy", "Monica"));
 
    
    No, you'll have to create a map by looping the lists:
public Map<String, String> zip(List<String> a, List<String> b) {
    var map = new HashMap<String, String>();
    for (var i = 0; i < a.size(); i++) {
        map.put(a.get(i), b.size() <= i ? b.get(i) : null);
    }
    
    return map;
}
