Java - Write code to merge two List

Requirements

Write code to merge two List

Demo

//package com.book2s;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {
    public static void main(String[] argv) {
        List aList = java.util.Arrays.asList("asdf", "book2s.com");
        List bList = java.util.Arrays.asList("asdf", "book2s.com");
        System.out.println(merge(aList, bList));
    }//from  w  w  w  . java2 s .co  m

    public static <T> List<T> merge(final List<T> aList, final List<T> bList) {

        if (aList == null && bList == null) {
            return Collections.emptyList();
        }

        if (aList != null && bList == null) {
            return Collections.unmodifiableList(aList);
        }

        if (aList == null && bList != null) {
            return Collections.unmodifiableList(bList);
        }

        ArrayList<T> list = new ArrayList<T>();
        list.addAll(aList);
        for (T t : bList) {
            if (!list.contains(t)) {
                list.add(t);
            }
        }

        return list;
    }

    public static <T> void add(final List<T> toList, final List<T> fromList) {

        if (toList == null || fromList == null) {
            return;
        }

        for (T t : fromList) {
            if (!toList.contains(t)) {
                toList.add(t);
            }
        }
    }
}

Related Exercise