Module-8A

-

      

Array List: An array has one shortcoming: you have to know how many elements will be in the array when you create it.

 

import java.util.ArrayList;

import java.util.List;

 

public class Welcome {

     

      public static void main(String[] args) {

            ArrayList list1 = new ArrayList();

            ArrayList list2 = new ArrayList(10);

            ArrayList list3 = new ArrayList(list2);

           

            System.out.println("Size list1 " + list1.size() + " Size list2 " + list2.size() + " Size list3 " +list3.size());

           

            ArrayList<String> list4 = new ArrayList<String>();

            ArrayList<String> list5 = new ArrayList<>();

           

            System.out.println("Size list4 " + list4.size() + " Size list5 " + list5.size());

           

            List<String> list6 = new ArrayList<>();

            //ArrayList<String> list7 = new List<>(); // DOES NOT COMPILE

      }

}

import java.util.ArrayList;

import java.util.List;

 

public class Welcome {

     

      public static void main(String[] args) {

           

            //List add() method

            ArrayList list1 = new ArrayList();

            list1.add("Hadoop");

            list1.add("Exam");

            list1.add(".com");

            list1.add(0,new Integer(1));

            System.out.println(list1);

           

            //Safe list

            ArrayList<String> list2 = new ArrayList<String>();

            list2.add("Hadoop");

            list2.add("Exam");

            //list2.add(new Integer(1));

            System.out.println(list2);

      }

}

import java.util.ArrayList;

import java.util.List;

 

public class Welcome {

     

      public static void main(String[] args) {

           

            //List add() method

            ArrayList list1 = new ArrayList();

            list1.add("Hadoop");

            list1.add("Exam");

            list1.add(".com");

            list1.add(0,new Integer(1));

            System.out.println("Before Element removal "+list1);

           

            list1.remove(0);

            list1.remove(".com");

            System.out.println("After Element removal "+list1);

           

           

      }

}

import java.util.ArrayList;

import java.util.List;

 

public class Welcome {

     

      public static void main(String[] args) {

           

            //List add() method

            ArrayList list1 = new ArrayList();

            list1.add("Hadoop");

            list1.add("Exam");

            list1.add(".com");

            list1.add(0,new Integer(1));

            System.out.println("Before Element removal "+list1 + "Size of list = " + list1.size());

           

            list1.remove(0);

            list1.remove(".com");

            System.out.println("After Element removal "+list1 + "Size of list = " + list1.size());

           

            //Check whether list is empty or not.

            System.out.println( list1.isEmpty());

           

            list1.set(0,"www.");

            list1.set(1,"HadoopExam");

            //list1.set(2,".com"); //java.lang.IndexOutOfBoundsException

            System.out.println("After Element Set "+list1 + "Size of list = " + list1.size());

           

            ArrayList list2 = new  ArrayList();

            list2.addAll(list1);

           

            System.out.println(list1.contains("HadoopExam"));

            System.out.println(list1.equals(list2));

            System.out.println(list1 == list2);

      }

}

 

Wrapper Classes

 

-          Each primitive type has a wrapper class.

-          Wrapper class is an Object form of primitive types, with having much more functionalities.

 

-          We can convert primitive to wrapper and wrapper to primitive class using methods e.g. intValue()

-          String to Wrapper class using valueOf method .

-          String to primitive value using parseInt() method.

 

public class Welcome {

     

      public static void main(String[] args) {

            Integer wInt = new Integer(100);

            System.out.println(wInt.intValue());

            System.out.println(wInt);

           

            System.out.println(Integer.parseInt("1000")); //String to primitive types

            System.out.println(Integer.valueOf("500").getClass()); //String to Wrapper class

            //System.out.println(Integer.valueOf("Hadoop").getClass()); //You will get an RuntimeException here.

      }

}

 

Autoboxing (Java 1.5 onwards)

-          Java automatically convert the primitive data types to wrapper class, wherever it is required.

import java.util.ArrayList;

import java.util.List;

 

public class Welcome {

  

   public static void main(String[] args) {

         List<Double> doubleList = new ArrayList<Double>();

        

         double val = 26.3;

         System.out.println("Is value added " + doubleList.add(val) + "Content of list" + doubleList);

        

         //Check below how float is converted into double and underline value also changed :(

         float f = 2.1f;

         System.out.println("Is value added " + doubleList.add((double) f) + "Content of list" + doubleList);

         System.out.println("Is value added " + doubleList.add((double) f) + "Content of list" + doubleList);

        

         //Check by removing cast here

         System.out.println("Is value removed " + doubleList.remove((double) f) + "Content of list" + doubleList);

        

         //Now add null value in list

         System.out.println("Is value added " + doubleList.add(null) + "Content of list" + doubleList);

         System.out.println("Is value added " + doubleList.add(null) + "Content of list" + doubleList);

        

         //Now add null value in list

         System.out.println("Is value removed " + doubleList.remove(null) + "Content of list" + doubleList);

        

        

   }

}                         

 

 

-          Autoboxing and methods in an Integer ArrayLists (Check Index position or actual value is being removed ?)

import java.util.ArrayList;

import java.util.List;

 

public class Welcome {

  

   public static void main(String[] args) {

        

         List<Integer> list = new ArrayList<Integer>();

        

         list.add(1);

         list.add(2);

        

         System.out.println("Contents in the list = " + list);

        

         //Check the surprise by un-commenting below methods

         //list.remove(1);

         list.remove(new Integer(1));

         System.out.println("Contents in the list = " + list);

        

        

   }

}                         

 

Convert Array and List

-          When you convert array to list, lists are backed by arrays. Hence, whatever operation you will apply on arrays will also be reflected In lists.

-          You can also convert List to arrays back.

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

 

public class Welcome {

  

   public static void main(String[] args) {

        

         String[] s1 = new String[5];

         s1[0] = "Hadoop";

         s1[1] = "Exam";

         s1[2] = ".com";

        

         System.out.println(s1.length);

        

         List<String> sList = new ArrayList<String>();

         sList = Arrays.asList(s1);

         System.out.println(sList);

        

         s1[0] = "Training4"; // Chenage 1st element in array

         System.out.println(sList);

        

         System.out.println(sList.toArray());

         //Below changes will be applied to both array and lists

         sList.set(0, "www.");

         sList.set(1, "HadoopExam");

         sList.set(3, "Learning");

         sList.set(4, "Resources");

         System.out.println(sList);

         //Sorting the list

         Collections.sort(sList);

         System.out.println(sList);

        

   }

}