Basic array and collection programs in java

1]  Programs in array

1) Find Minimum and Maximum no in given array

package array;

class Find_Min_Array{
   
    static void min(int arr[]){
    int min=arr[0]; // by default array 0 is set as min
    for(int i=1;i<arr.length;i++)//if i=0 then also same ans is displayed
     /*since arr[0] is already in min, hence started from 1st array
      instead of 0 ie.i=1 in for loop */

        if(min>arr[i])   //checks array 0 is less than min
      min=arr[i];

    System.out.println("min:" +min);
    }

    //max
    static void max(int arr[]){
        int max=arr[0]; // by default array 0 is set as max
        for(int i=1;i<arr.length;i++)
         if(max<arr[i])   //checks array 0 is greater than max
          max=arr[i];

        System.out.println("max:"+max);
        }
   
    public static void main(String args[]){

    int a[]={33,3,4,5,2};
    min(a);//passing array in the method. note: static hence method is directly called   
     max(a);

    }}

Output:
min:2
max:33


2) Find the missing no. in array

package array;

public class Find_Missing_No {
    /*
     Logic: Store nos. in 2 different arrays.
     1st array contains sum of all n nos
     2nd array contains sum of n-1 nos (missing no. not present)
      Add both arrays individually.
     Subtract 1 from another. Subtracted answers is missing no.
   
     */

   
    public static void main(String args[])
   
    {
        int[] desired_sum = {1,2,3,4};
        int sum = 0;
        for( int i : desired_sum) {
            sum += i;
        }
        System.out.println("sum : "+sum);
       
        int[] actual_sum = {1,3,4};
        int sum1 = 0;
        for( int i : actual_sum) {
            sum1 += i;
        }
        System.out.println("sum1 : "+sum1);
       
        System.out.println("Missing No:  "+(sum-sum1));
       
    }

}

/*

 Note:Once java-8 is out (March 2014) you'll be able to use streams:
 int[] a = {10,20,30,40,50};
 int sum = IntStream.of(a).sum();
 System.out.println("The sum is " + sum);

 */


Output:
sum : 10
sum1 : 8
Missing No:  2



3) Find common elements in array
package array;

public class CommonElementsInArray {
    // works with string as well
   
     public static void main(String a[]){
            int[] arr1 = {4,7,3,9,2};
            int[] arr2 = {3,2,12,9,40,32,4};
            for(int i=0;i<arr1.length;i++){
                for(int j=0;j<arr2.length;j++){
                    if(arr1[i]==arr2[j]){
                        System.out.println(arr1[i]);
                    }
                }
            }
                       
        }   

}

Output:
4
3
9
2


4) Find No. nearest to zero
package array;


import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class NearestToZero {
    public static void main(String args[]){
        int a[]={-2,33,3,4,5,2};
        closest(a);
   
    }
    static void closest(int[] array) {
        int num = array[0];
        int absNum = Math.abs(num);
        for(int i = 1; i < array.length; ++i) // note ++i
        {
            int newAbs = Math.abs(array[i]);
            if(newAbs < absNum) {
                absNum = newAbs;
                num = array[i];
            }
                    }
        //return num;
        System.out.println("num:"+num);
    }
}

Output:
num:-2


2] Programs in collection framework

Remove Duplicate from List

package interview_programs;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;

public class RemDupFromList {

    public static void main(String[] args)
    {
        List li = new ArrayList();

              li.add("A");
              li.add("C");
              li.add("B");
             
              li.add("A");//Duplicate
              li.add("A");//Duplicate

             // We have facility to pass a List into Set constructor and vice verse to cast     

    List li2 = new ArrayList(new HashSet(li)); //no order(No duplicates in Set)

                //  List li2 = new ArrayList(new LinkedHashSet(li)); //If you need to preserve the order use 'LinkedHashSet'

     System.out.println("list:" + li2);
     
             Iterator it= li2.iterator();
             while(it.hasNext())
             {
                 System.out.println(it.next());
             }

    }
}

Output:
list:[A, B, C]
A
B
C


How to Synchronize ArrayList in Java
By using Collections.synchronizedList

SynchronizedArrayListDemo.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;


public class SynchronizedArrayListDemo {

    public static void main(String args[]) {
    
       // An ArrayList which is not synchronized
       List<String> listOfSymbols = new ArrayList<String>();
    
       listOfSymbols.add("RELIANCE");
       listOfSymbols.add("TATA");
       listOfSymbols.add("TECHMAH");
       listOfSymbols.add("HDFC");
       listOfSymbols.add("ICICI");
    
       // Synchronizing ArrayList in Java
       listOfSymbols = Collections.synchronizedList(listOfSymbols);
    
       // While Iterating over synchronized list, you must synchronize
       // on it to avoid non-deterministic behavior

    
       synchronized(listOfSymbols){
           Iterator<String> myIterator = listOfSymbols.iterator();
        
           while(myIterator.hasNext()){
               System.out.println(myIterator.next());
           }
       }
    
    }

}

Output:RELIANCE
TATA
TECHMAH
HDFC
ICICI

Program in HashMap

package array;

import java.util.*; 
class Hashmap{ 
 public static void main(String args[]){ 
  
  HashMap<Integer,String> hm=new HashMap<Integer,String>(); 
 
  hm.put(null,"abc"); //one null key, any no of null values
  hm.put(null,"xyz");// hashmap cannot have duplicate values
  hm.put(null,"xyz");
 
  hm.put(100,"Amit"); 
  hm.put(100,"Vijay"); 
  hm.put(100,"krishna"); 
  hm.put(102,"Rahul"); 
 
  for(Map.Entry m:hm.entrySet()){ 
   System.out.println(m.getKey()+" "+m.getValue()); 
  } 
  System.out.println("get(100):"+hm.get(100));
 } 


Output:
102 Rahul
null xyz
100 krishna
get(100):krishna



Program in Treemap

package array;

import java.util.*; 
class Treemap{
     public static void main(String args[]){
   
         TreeMap<Integer,String> hm=new TreeMap<Integer,String>(); 
         
         //hm.put(null,"abc"); //run time error
          hm.put(100,"Amit");  // cannot contain null key, any no of null values(ascending order of key)
          hm.put(100,"Ravi"); 
          hm.put(100,"Vijay"); 
          hm.put(103,"Rahul"); 
          hm.put(104,null);
          hm.put(105,null);
         

      for(Map.Entry m:hm.entrySet()){
       System.out.println(m.getKey()+" "+m.getValue());
      }
     }
    }

Output:
100 Vijay
103 Rahul
104 null
105 null

No comments:

Post a Comment