Thursday, October 25, 2018

ஜாவா அர்ரே லிஸ்ட் கிளாஸ்


நிரலாக்க மொழிகளில் பொதுவாக அர்ரேயின் சைஸ் கம்பைல் நேரத்தில் குறிப்பிட்டுள்ள போல் தான் அமையும். இயக்க நேரத்தில் அதன் அளவை கூட்டவோ அல்லது குறைக்கவோ முடியாது. அர்ரே லிஸ்ட் ஒரு டைனமிக் அர்ரேயாகும். அர்ரே போல் அல்லாது அதன் அளவை இயக்க நேரத்தில் கூட்டவோ குறைக்கவோ முடியும்.
ArrayList கிளாஸ் ஆனது AbstractList கிளாஸை இன்ஹெரிட் செய்கின்றது.List என்ற இன்டர்ஃபேசை இம்ப்ளிமென்ட் செய்கின்றது
அர்ரேலிஸ்ட் பற்றிய குறிப்புகள்:
  • இதில் டூப்ளிகேட் எலிமென்டுகள் இருக்கலாம்.
  • எந்த ஆர்டரில் இன்செர்ட் செய்கின்றோம் என்பதை அழியாமல் பேணுகின்றது. இது is non synchronized கிளாஸ் ஆகும். இதன் எலிமெண்டுகளை ரேண்டம் முறையில் அனுகலாம்.
  •  
  • அர்ரேலிஸ்ட் கிளாஸை பொறுத்த வரை இதை கையாளுதல் மெதுவானதாகும். ஏனெனில் ஒரு எலிமென்ட் ஆனது ரிமூவ் செய்யப்படும் போது மற்ற எலிமெண்டுகள் ஷிஃப்ட் செய்ய ரிடுகின்றது.
Constructors of Java ArrayList
Constructor
Description
ArrayList()
இது வெற்று அர்ரேலிஸ்டை உருவாக்குகின்றது
ArrayList(Collection c)
இது கலக்சன் c –யில் இருக்கும் எலிமெண்டுகளுடன் அ்ர்ரேலிஸ்டை உருவாக்குகின்றது.
ArrayList(int capacity)
இது குறிப்பிட்ட கெப்பாடிட்டியுடன் அர்ரேலிஸை உருவாக்குகின்றது.

Methods of Java ArrayList
Method
Description
void add(int index, Object element)
இது குறிப்பிட்ட எலிமெண்டை குறிப்பிட்ட இண்டெக்ஸில் இன்செர்ட் செய்கின்றது.
boolean addAll(Collection c)
இது ஒரு அர்ரேலிஸ்டின் முடிவில் கலக்சன் C –யில் இருக்கும் எல்லா எலிமெண்டுகளையும் சேர்த்துக் கொள்கின்றது.
void clear()
இது எல்லா எலிமெண்டுககையும் நீக்குகின்றது
int lastIndexOf(Object o)
இது ஒரு எலிமெண்டின் கடைசி இண்டெக்ஸை ரிடர்ன் செய்கின்றது
Object[] toArray()
Iஇது ஒரு அர்ரேலிஸ்டை அர்ரேயாக கன்வெர்ட் செய்து அனுப்புகின்றது
Object[] toArray(Object[] a)
இது ஒரு அர்ரேலிஸ்டின் எல்லா எலிமெண்டுகளையும் அதன் ஆர்டரிலேயே அர்ரேயாக மாற்றி அனுப்பிகின்றது .
boolean add(Object o)
இந்த மெத்தட் ஆனது ஒரு ஆப்ஜெக்டை அதன் முடிவில் சேர்த்துக் கொள்கின்றது.
boolean addAll(int index, Collection c)
இது ஒரு கலக்சனை ஒரு அர்ரேலிஸ்டின் குறிப்பிட்ட இண்டெக்ஸில் ஆட் செய்து கொள்கின்றது.
Object clone()
இது ஒரு அர்ரே லிஸ்டை அப்படியே நகல் எடுக்கின்றது.
int indexOf(Object o)
இது ஒரு அர்ரேலிஸ்டில் குறிப்பிட்ட எலிமெண்ட் எந்த இண்டெக்ஸில் முதலாவதாக இருக்கின்றது என்பதை ரிடர்ன் செய்கின்றது.
void trimToSize()
இது ஒரு அர்ரேலிஸ்டை அதன் தற்போதைய அளவிற்கு டிரிம் செய்து கொள்கின்றது.


Java Non-generic Vs Generic Collection

Jdk 1.5 வெர்சனுக்கு முன் நான் ஜெனரிக் கலக்சன் தான் செயல்பட்டு வந்தது. அதாவது ஒரே அர்ரேலிஸ்டில் வெவ்வேறு வகையான டேட்டாக்களை சேமிக்கலாம். ஆனால் அது typesafe கிடையாது.

உதாரணம்.

ArrayList al=new ArrayList();//creating old non-generic arraylist  

இப்பொழுது உள்ள வெர்சன்களில் ஜெனரிக் அர்ரேலிஸ்ட் உருவாக்கலாம். எனவே ரண்டைமில் வெவ்வேறு வகையான டேட்டாக்களை சேமிக்க இயலாது.

உதாரணம்.

ArrayList<String> al=new ArrayList<String>();//creating new generic arraylist  

மேலே உள்ள அர்ரேலிஸ்ட் al என்பதில் string இனத்தைத் தவிர வேறு எந்த டைப்பிலும் டேட்டா சேமிக்க இயலாது.

.

அர்ரே லிஸ்ட் சான்று நிரல்-1
import java.util.*;  
class TestCollection1{  
 public static void main(String args[]){  
  ArrayList<String> list=new ArrayList<String>();//Creating arraylist  
  list.add("Muthu");//Adding object in arraylist  
  list.add("karthikeyan");  
  list.add("Muthu ");  
  list.add("karthikeyan ");  
  //Traversing list through Iterator  
  Iterator itr=list.iterator();  
  while(itr.hasNext()){  
   System.out.println(itr.next());  
  }  
 }  
}  
வெளியீடு:
       Muthu  
  Karthikeyan
       Muthu  
  Karthikeyan
ஒரு கலக்சனில் உள்ள எலிமெண்டுகளை பின் வரும் இரண்டு வகைகளில் அணுகலாம்.
1.  Iterator interface பயன்படுத்தி.
2.  For each loop பயன்படுத்தி
மேலே உள்ள நிரலில் iterator interface பயன்படுத்தி எழுதப் பட்டுள்ளது.
கீழே உள்ள நிரல் for rach பயன்படுத்தி எழுதப் பட்டுள்ளது.
import java.util.*;  
class TestCollection2{  
 public static void main(String args[]){  
  ArrayList<String> al=new ArrayList<String>();  
  al.add("Rani");  
  al.add("Arun");  
  al.add("Rani");  
  al.add("Arun");  
  for(String obj:al)  
    System.out.println(obj);  
 }  
}  
வெளியீடு:
       Rani
       Arun
       Rani
       Arun
Students கிளாஸ் ஆப்ஜெக்டை எவ்வாறு கலக்சன் லிஸ்டில் சேமிப்பது என்று கீழே உள்ள நிரலில் குறிப்பிடப் பட்டுள்ளது.
class Student{  
  int rollno;  
  String name;  
  int age;  
  Student(int rollno,String name,int age){  
   this.rollno=rollno;  
   this.name=name;  
   this.age=age;  
  }  
}  
import java.util.*;  
public class TestCollection3{  
 public static void main(String args[]){  
  //Creating user-defined class objects  
  Student s1=new Student(101,"Muthu",25);  
  Student s2=new Student(102,"Ragu",28);  
  Student s2=new Student(103,"Hari",26);  
  //creating arraylist  
  ArrayList<Student> al=new ArrayList<Student>();  
  al.add(s1);//adding Student class object  
  al.add(s2);  
  al.add(s3);  
  //Getting Iterator  
  Iterator itr=al.iterator();  
  //traversing elements of ArrayList object  
  while(itr.hasNext()){  
    Student st=(Student)itr.next();  
    System.out.println(st.rollno+" "+st.name+" "+st.age);  
  }  
 }  
}  
வெளியீடு:

       101 Muthu 25
       102 Ragu 28
       103 Hari 26

addAll(Collection c) method உதாரணம்.
import java.util.*;  
class TestCollection4{  
 public static void main(String args[]){  
  ArrayList<String> al=new ArrayList<String>();  
  al.add("Ragu");  
  al.add("Vijay");  
  al.add("Arun");  
  ArrayList<String> al2=new ArrayList<String>();  
  al2.add("Subbu");  
  al2.add("Hari");  
  al.addAll(al2);//adding second list in first list  
  Iterator itr=al.iterator();  
  while(itr.hasNext()){  
   System.out.println(itr.next());  
  }  
 }  
}  
வெளியீடு:
       Ragu
       Vijay
       Arun
       Subbu
       Hari
removeAll() method உதாரணம்
import java.util.*;  
class TestCollection5{  
 public static void main(String args[]){  
  ArrayList<String> al=new ArrayList<String>();  
  al.add("Ragu");  
  al.add("Vijay");  
  al.add("Arun");  
  ArrayList<String> al2=new ArrayList<String>();  
  al2.add("Ragu");  
  al2.add("Hari");  
  al.removeAll(al2);  
  System.out.println("iterating the elements after removing the elements of al2...");  
  Iterator itr=al.iterator();  
  while(itr.hasNext()){  
   System.out.println(itr.next());  
  }  
  
  }  
}  
வெளியீடு:
       iterating the elements after removing the elements of al2...
       Vijay
       Arun


 retainAll() method உதாரணம்.
import java.util.*;  
class TestCollection6{  
 public static void main(String args[]){  
  ArrayList<String> al=new ArrayList<String>();  
  al.add("Ragu");  
  al.add("Vijay");  
  al.add("Arun");  
  ArrayList<String> al2=new ArrayList<String>();  
  al2.add("Ragu");  
  al2.add("Hari");  
  al.retainAll(al2);  
  System.out.println("iterating the elements after retaining the elements of al2...");  
  Iterator itr=al.iterator();  
  while(itr.hasNext()){  
   System.out.println(itr.next());  
  }  
 }  
}  
வெளியீடு:
       iterating the elements after retaining the elements of al2...
       Ragu
Java ArrayList Book கிளாஸ் சான்று நிரல்.

import java.util.*;  
class Book {  
int id;  
String name,author,publisher;  
int quantity;  
public Book(int id, String name, String author, String publisher, int quantity) {  
    this.id = id;  
    this.name = name;  
    this.author = author;  
    this.publisher = publisher;  
    this.quantity = quantity;  
}  
}  
public class ArrayListExample {  
public static void main(String[] args) {  
    //Creating list of Books  
    List<Book> list=new ArrayList<Book>();  
    //Creating Books  
    Book b1=new Book(101,"Every one has a story" , "Savi sharma","Westland",10);  
    Book b2=new Book(102,"Will you still love me","Ravinder singh","penguin",5);  
    //Adding Books to list  
    list.add(b1);  
    list.add(b2);  
    //Traversing list  
    for(Book b:list){  
        System.out.println(b.id+" "+b.name+" "+b.author+" "+b.publisher+" "+b.quantity);  
    }  
}  
}  
வெளியீடு:
101 Every one has a story Savi Sharma Westland 10
102 Will you still love me Ravinder singh penguin 5
நன்றி
முத்து கார்த்திகேயன்,மதுரை.

ads Udanz

No comments:

Post a Comment