Advertisement
damesova

Merging Lists

Feb 19th, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.62 KB | None | 0 0
  1. package _15_Lists;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.stream.Collectors;
  8.  
  9. public class _03_MergingLists {
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         List<Integer> list1 = Arrays.stream(scanner.nextLine().split(" "))
  14.                 .map(Integer::parseInt).collect(Collectors.toList());
  15.  
  16.         List<Integer> list2 = Arrays.stream(scanner.nextLine().split(" "))
  17.                 .map(Integer::parseInt).collect(Collectors.toList());
  18.  
  19.         List<Integer> listResult = new ArrayList<>();
  20.  
  21.         int smallestSize = Math.min(list1.size(), list2.size());
  22.  
  23.         for (int i = 0, j = 0; i < smallestSize * 2; i++) {
  24.             if (i % 2 == 0 || i == 0) {
  25.                 listResult.add(i, list1.get(j));
  26.             } else if (i % 2 == 1) {
  27.                 listResult.add(i, list2.get(j));
  28.                 j++;
  29.             }
  30.         }
  31.  
  32.         if (list1.size() > list2.size()) {
  33.             listResult.addAll(getRemainingElements(list1, list2));
  34.         } else if (list2.size() > list1.size()) {
  35.             listResult.addAll(getRemainingElements(list2, list1));
  36.         }
  37.  
  38.         System.out.println(listResult.toString().replaceAll("[\\[\\],]",""));
  39.  
  40.     }
  41.  
  42.     public static List<Integer> getRemainingElements
  43.             (List<Integer> longerList, List<Integer> shorterList) {
  44.         List<Integer> nums = new ArrayList<>();
  45.         for (int i = shorterList.size(); i < longerList.size(); i++)
  46.             nums.add(longerList.get(i));
  47.         return nums;
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement