svephoto

Merging Lists [Java]

Apr 17th, 2021 (edited)
134
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4.  
  5. public class MergingLists {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.  
  9.         String firstLine = scanner.nextLine();
  10.         String secondLine = scanner.nextLine();
  11.  
  12.         ArrayList<Integer> firstFunction = new ArrayList<>(parseFirstLineOfNumbers(firstLine));
  13.         ArrayList<Integer> secondFunction = new ArrayList<>(parseSecondLineOfNumbers(secondLine));
  14.  
  15.         ArrayList<Integer> mergedList = new ArrayList<>();
  16.  
  17.         if (firstFunction.size() >= secondFunction.size()) {
  18.             for (int i = 0; i < firstFunction.size(); i++) {
  19.                 mergedList.add(firstFunction.get(i));
  20.  
  21.                 if (i < secondFunction.size()) {
  22.                     mergedList.add(secondFunction.get(i));                  
  23.                 }
  24.             }
  25.         } else {
  26.             for (int i = 0; i < secondFunction.size(); i++) {
  27.                 if (i < firstFunction.size()) {
  28.                     mergedList.add(firstFunction.get(i));                  
  29.                 }
  30.  
  31.                 mergedList.add(secondFunction.get(i));                  
  32.             }
  33.         }
  34.          
  35.         for (int number : mergedList) {
  36.             System.out.print(number + " ");
  37.         }
  38.     }
  39.  
  40.     public static List<Integer> parseFirstLineOfNumbers(String firstLine) {
  41.         String[] firstLineAsArray = firstLine.split(" ");
  42.  
  43.         ArrayList<Integer> firstList = new ArrayList<>();
  44.  
  45.         for (String s : firstLineAsArray) {
  46.             int number = Integer.parseInt(s);
  47.             firstList.add(number);
  48.         }
  49.      
  50.         return firstList;
  51.     }
  52.  
  53.     public static List<Integer> parseSecondLineOfNumbers(String secondLine) {
  54.         String[] secondLineAsArray = secondLine.split(" ");
  55.  
  56.         ArrayList<Integer> secondList = new ArrayList<>();
  57.  
  58.         for (String a : secondLineAsArray) {
  59.             int number = Integer.parseInt(a);
  60.             secondList.add(number);
  61.         }
  62.      
  63.         return secondList;
  64.     }
  65. }
  66.  
RAW Paste Data