How to create a common sorted unique list from 3 integer lists in Java

1 Answer

0 votes
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

public class MergeUniqueSorted {

    /**
       Function: mergeLists
       Purpose:  Combine three integer lists into a single list.
    */
    public static List<Integer> mergeLists(List<Integer> a, List<Integer> b, List<Integer> c) {
        List<Integer> merged = new ArrayList<>();
        merged.addAll(a);
        merged.addAll(b);
        merged.addAll(c);
        
        return merged;
    }

    /**
       Function: uniqueSorted
       Purpose:  Convert a list into a sorted list with unique elements.
                 Uses TreeSet because it automatically sorts and removes duplicates.
    */
    public static List<Integer> uniqueSorted(List<Integer> list) {
        Set<Integer> set = new TreeSet<>(list);  // sorted + unique
        
        return new ArrayList<>(set);
    }

    public static void main(String[] args) {

        // Input lists
        List<Integer> lst1 = Arrays.asList(5, 1, 14, 3, 8, 9, 1, 1, 7);
        List<Integer> lst2 = Arrays.asList(3, 5, 7, 2, 3);
        List<Integer> lst3 = Arrays.asList(2, 9, 8);

        // Step 1: Merge all lists
        List<Integer> merged = mergeLists(lst1, lst2,lst3);

        // Step 2: Create sorted unique list
        List<Integer> result = uniqueSorted(merged);

        // Step 3: Print result
        System.out.print("Sorted unique list: ");
        for (int x : result) {
            System.out.print(x + " ");
        }
    }
}



/*
run:

Sorted unique list: 1 2 3 5 7 8 9 14 

*/

 



answered May 6 by avibootz

Related questions

...