tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Articles > Java > Coding Examples > Compare two Arrays and find Missing numbers

Compare two Arrays and find Missing numbers 

Given two arrays FIRST and SECOND, find the numbers present in FIRST but not in SECOND ?

File Name  :  
com/bethecoder/tutorials/coding/examples/ArrayComparisionTest.java 
Author  :  Sudhakar KV
Email  :  [email protected]
   
package com.bethecoder.tutorials.coding.examples;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;

/**
 * Given two arrays FIRST and SECOND, find the numbers present in FIRST but not in SECOND ?
 */
public class ArrayComparisionTest {

  /**
   @param args
   */
  public static void main(String[] args) {
    Integer [] first = 1,2,3,4,};
    Integer [] second = 2,3,1,0,};
    
    System.out.println(getMissingNumbers(first, second));
    
    first = new Integer [] { 1,2,3,4,};
    second = new Integer [] { 111};
    
    System.out.println(getMissingNumbers(first, second));
  }

  /**
   * This method gets the numbers which are present in first and not in second.
   @param nums
   @return
   */
  private static List<Integer> getMissingNumbers(Integer [] first, Integer [] second) {
    List<Integer> missing = new ArrayList<Integer>(new HashSet<Integer>(Arrays.asList(first)));
    for (Integer num : second) {
      missing.remove(num);
    }
    return missing;
  }
}
   

It gives the following output,
[4]
[2, 3, 4]



 
  


  
bl  br