Array:-
·
Array
is a group of elements in a similar data types.
·
Array
is an environment provided to us to store group of similar data types of
elements with fixed size.
·
Size
of the array has to be fixed while defining an array.
Colllections:-
Collections are the
objects which are used to store elements of different data types as a group
whose size is “dynamically growing”.
Objects of these kind
of classes are available in “java.util” package.
Collection is the
super most interface which contains core functionality that every collection object
make use of it.
List,Set are the sub
interfaces of the collection interface.
Core interfaces
available in collections are
1.
Java.util.Collection
2.
Java.util.List
3.
Java.util.Set
One interface can
extends another interface, but class will implements the interface.
Fig: hierarchy
of collection classes
1.
java.util.Collection:-
collection
is a base interface of all the interfaces which provides a unified way of
storing the elements, accessing the elements and manuplating the elements.
1.
Java.util.List:-
List is
an interface whose objects supports to store group of objects (elements) in a
sequential order.
List
allows us to store duplicate elements.we can use ListIterator to read the
elements from the list.
List
implementation classes are ArrayList,Vector,LinkedList objects are known as
List implementation classes.
2.
Java.util.Set:-
Set is
an interface whose object can be used to store the group of objects which will
not allow duplicates inside it.
Java.util.Map:-
Map is a Collection
is allows to store the elements in the
form of key,value pairs
Note:-
Java.util.Iterator is an interface which
has a functionality to read the elements from collections.
Eg:-
public
interface
Iterator
{
boolean
hasNext();
java.lang.Object next();
void remove(); }
|
hasNext()
is used to check whether the collection has next element or not.
next()
is used to read the elements from the collection.
remove()
used to remove the elements from the collection.
Eg:- to write the program using
ArrayList
import java.util.ArrayList;
import java.util.Iterator;
public
class ArrayListDemo {
public
static void main(String args[]) {
ArrayList list = new
ArrayList();
//the
above statement we can also write as follows
//
List list=new ArrayList();
//Collection list = new ArrayList();
list.add(“ramu”);
list.add(“sitha”);
list.add(“raju”);
list.add(“rani”);
System.out.println(“list
elements are”+ list);
System.out.println(“size
of the list”+ list.size());
//storing
the elements in order in which they are inserted.
//read
elements from the list by creating iterator of list.using methods available
in the //Iterator read the elements in a loop.
Iterator it = list.iterator();
//it.hasNext()
it returns true if there is a next element.data structure follow FIFO method.
while(it.hasNext())
{
//hasNext()
must used as a condition.
Object object=
(Object)it.next();
String str
=object(String);
System.out.println(“elements are “+str); } }
}
|
list.clear() gives
the result as empty list ( [ ] ).
ArrayList:-
Allows to store
elements in order in which they have inserted.
We can define the
size of an ArrayList by passing size as constructor argument.
List list =
new ArrayList(4);
Vector:-
Eg:- to write a program using vector class
import java.util.Vector;
import java.util.Iterator;
public class VectorDemo
{
public
static void main(String args[]) {
Vector vect = new
Vector:
vect.add(“43”);
vect.add(“53”);
vect.add(“25”);
vect.add(“43”);
vect.add(“548”);
System.out.println(“ elements
are”+vect);
Iterator
it = vect.iterator();
While(it.hasNext())
{
//hasNext()
must used as a condition.
Object type=
(Object)it.next();
String element
=type(String);
System.out.println(“elements are “+element);
} } }
|
Convert ArrayList into Array:-
toArray() method is
used to convert ArrayList into Array.
Eg:-
Object[] objArray = list.toArray();
for(int
i=0;i<objArray.length;i++) {
String element=(String)objArray[i];
System.out.println(“elements
are”+element); }
|
ClassCastException:-
ClassCastException is
a dynamic exception which will come when we are retrieving the different
objects from a collection, but typecasting into only one type.
Eg:-
Employee.java:-
public class Employee {
private int
empid;
private String
name;
private String
email;
private String
phone;
public void int setEmpid(int empid) {
this.empid = empid; }
public void int getEmpid()
{
return empid; }
public
void String setName(String name) {
this.name=name; }
public void String getName() {
return name; }
public void String setEmail(String email) {
this.email=email; }
public void String getName()
{
return email; }
Public
void String setPhone(String phone) {
this.phone=phone; }
public void String getPhone()
{
return phone;
} }
|
VectorDemo.java:-
public class VectorDemo {
public
static void main(String args[]) {
VectorDemo vect = new
VectorDemo();
vect.add(“43”);
vect.add(“28”);
Employee emp1 =
Employee();
emp1.setEmpid(“234”);
emp1.setName(“ramu”);
emp1.setEmail(“ramu@gmail.com”);
emp1.setPhone(“987654321”);
Employee emp2 =
Employee();
emp2.setEmpid(“235”);
emp2.setName(“raju”);
emp2.setEmail(“suji@gmail.com”);
emp2.setPhone(“9876387321”);
Iterator it = vect.iterator();
While(it.hasNext()) {
Object type =
(Object) it.next();
String element =
(String)type;
//we can not call like as above statement, it will give you a
Exception is //ClassCastException.
Because we should have to typecast into only one type.
//here employee having lost of different group of elements.
System.out.println(“read
elements are”+elements); }
} }
|
Difference between ArrayList and Vector:-
ArrayList Vector
1.
All
the methods in ArrayList are not 1. All the methods in vector are synchronized
Synchronized.
2.
ArrayList
will not allow any default size. 2.
Vector has a default size of 10.if we ensure
the
capacity of vector more than 10,the size will be doubled only once.
3.
In
ArrayList we can read elements using 3.
In Vector we can read the elements using
Iterator
only. Iterator , Enemuration also.
Q) when
we will use a vector and when we will use ArrayList ?
Vector
is a single thread environment (synchronized).
ArrayList
is a multithread environment (normal thread).
Difference between Enumeration and Iteration:-
Enumeration Iteration
1.
Enumeration
does not have a removed(). 1.
Iterator has a removed().
2.
Enumeration
acts as read only interface , 2.
Iterator can be abstract, final, native,
because it has the
methods only to traverse static or synchronized.
and fetch the
objects.
Difference between Iterator and ListIterator:-
Iterator ListIterator
1.
Iterator
has methods to read the elements 1. It has methods to read the elements
only in forword
direction. in
both forword and backword direction.
2.
Using
iterator we can’t add the elements to 2. We can add or remove the existing
Collection , remove
the elements from the elements using ListIterator.
Collection.
LinkedList:- Eg:-
public class LnkedListDemo
{
public
static void main(String args[]) {
LinkedList l1list =
new LinkedList();
l1list.add(“Iswarya”);
l1list.add(“trisha”);
l1list.add(“deepika”);
l1list.add(“mahesh”);
l1list.add(“charmi”);
l1list.add(“pragathi”);
System.out.println(“àlinkedlistà”+ l1list);
l1list.add(3,”naresh”);
l1list.removeFirst();
l1list.removeLast();
l1list.addFirst(“kiran”);
l1list.addLast(“chandra”);
System.out.println(“àlinkedlistà”+l1list);
Iterator it =
l1list.iterator();
While(it.hasmoreNext())
{
Object type =
(String)it.next();
System.out.println(“FIFO
elementsà”+type); }
} }
|
LinkedList is a data
Structure which allows the elements to store sequentially.
LinkedList data
structure follows FIFO mechanism I,e we can read elements from linkedlist in
the order in which they have inserted.
Difference between ArrayList and LinkedList:-
ArrayList LinkedList
1.
We
can add elements to the collection at 1. We can add elements in any
The end(forword). Location(forword,reserve).
2.
We
can remove the elements only at the 2. We can remove elements at any
End position. Position.
3.
Accessing
elements is slower. 3. Provide faster accessing.
4.
Accessing
the elements only in the order. 4. Where we add the elements,we can access them sequentially.
Set:- set is
a interface which will not allows the duplicates.Set having 3 classes
1.
HashSet
2.
LinkedHashSet
3.
TreeSet
HashSet:- it will follows hashing mechanism.
Eg:-
public class HashSetDemo
{
public
static void main(String args[]) {
Set hashset =
new HashSet();
hashset.add(“january”);
hashset.add(“febravary”);
hashset. add
(“march”);
hashset. add
(“april”);
hashset. add
(“april”);
hashset. add
(“june”);
System.out.println(“hashsetà”+ hashset);
System.out.println(“sizeà”+ hashset.size()); }
}
|
Note:-
In HashSet duplicate
values are not allowed .
If we can add the
duplicate values then HashSet assigns same hashcode and only one value is
stored.
HashSet allows
primitive datatypes.
HashSet is a class
which implements Set interface.
HashSet will not
follows sequential order.i,e the objects will inserted or will not stores the
order in which we have given.
Hashing:-
Maintaining the
unique address for all the different objects inside the collections is known as
Hashing.
For each contents
that is stored as part of HashSet will be maintained a unique address known as
hashcode.
“HashSet” will not
store duplicate elements inside it.
LinkedHashSet:- Eg:-
public class LinkedHashSetDemo
{
public
static void main(String args[]) {
Set lhashset =
new LinkedHashSet();
lhashset.add(“4”);
lhashset. add
(“4”);
lhashset. add
(“7”);
lhashset. add
(“8”);
lhashset. add
(“april”);
lhashset. add
(“june”);
System.out.println(“linkedhashsetà”+ lhashset);
System.out.println(“sizeà”+ lhashset.size());
for(Iterator
iterator = lhashset.iterator();iterator.hashNext();) {
Object object = (Object)iterator.next();
String str = (String)object;
System.out.println(“à”+str);
} }
|
That means HashSet
doesn’t follows the FIFO order.
LinkedHashSet follows
the FIFO order.
TreeSet:- Eg:-
public class TreeSetDemo
{
public static void main(String
args[]) {
Set treeset =
new TreeSet();
treeset.add(“4”);
treeset. add
(“4”);
treeset. add
(“7”);
treeset. add
(“8”);
treeset. add
(“april”);
treeset. add
(“june”);
System.out.println(“treesetà”+ treeset);
System.out.println(“sizeà”+ treeset.size());
for(Iterator
iterator = treeset.iterator();iterator.hashNext();) {
Object object =
(Object)iterator.next();
String str =
(String)object;
System.out.println(“à”+str); }
}
|
TreeSet implements
SortedSet interface is a sub interface of Set interface.
SrtedSet has methods
to arrange the elements in assending order.these methods are implemented as
part of TreeSet class as follows.
1.
TreeSet
allows to store only similar data type of elements.
2.
It
will not allow duplicate elements to store inside it.
3.
It
will arrange the elements in aphabetical order or assending order.
Map:- it will not allow the
duplicate keys.
Eg:-
public class MapDemo {
public
static void main(String args[])
{
HashMap hashmap =
new HashMap();
hashmap. put
(“1”,”abc”);
hashmap. put
(“2”,”def”);
hashmap. put
(“3”,”rani”);
hashmap. put
(“4”,”jani”);
hashmap. put
(“5”,”soni”);
hashmap. put
(“null”,”raju”);
hashmap.put(“null”,”null”);
System.out.println(“value
of key 5”+(String) hashmap.get(“5”));
System.out.println(“hashmap”+ hashmap);
System.out.println(“size”+ hashmap.size());
Set set = hashmap.entrySet();
for(Iterator
iterator= set.iterator();iterator.hashNext();) {
Object object =
(Object)iterator.next();
//object
contains map.entry values.
Map.Entry mapentry =
(Map.Entry)object;
String key = (String)MapEntry.getKey();
String value =
(String)MapEntry.getValue();
System.out.println(“keys”+key+”à”+value); }
} }
|
There is a second
approach to read the key,values from Map as follows.
Set key = hashmap.keySet();
System.out.println(“keys
of hash map”+key)
for(Iterator iterator=
key.iterator();iterator.hashNext();) {
Object object = (Object)iterator.Next();
String key = (String)object;
String value = (String)hashmap.get(key);
System.out.println(key+”à”+value); }
|
HashMap:-
HashMap will follows
its own order to display the output.
It is a class which is
implementing the Map interface.HashMap stores the values in the form of
key,value pairs.
Here key is an object
and value is also an object.so key,values of HashMap will accept us to store
any object of any class.
Here we will do the
operations on values depending on the keys.
HashMap allows us to
store only one null key and multiple null values.
Faster accessing of
elements is possible using “HashMap”.
Difference between HashMap and HashTable:-
HashMap Hashtable
1.
Methods
are not synchronized. 1.
Methods are synchronized.
2.
It
will allow only one null key and multiple 2.
It will not allows the null key,values.
Null values.
3.
Faster
accessibility. 3.
Slower accessibility.
4.
We
can only use the iterator for read or 4.
We can use both iterator and
Iterate the elements. Enumeration to read the elements.
5.
It
not allow duplicate keys,but it allows the 5.
This is also same as HashMap.
Duplicate values.
Hashtable:-
Hashtable will not
follow any order to display output.its follow its own order.
Eg:-
public class HashtableDemo
{
public
static void main9String args[]) {
Hashtable ht = new
Hashtable();
ht.put(“4”,”jani”);
ht. put
(“5”,”soni”);
ht. put
(“null”,”raju”);
ht. put
(“null”,”null”);
System.out.println(“value
of key 5”+(String) ht.get(“5”));
System.out.println(“hashtable”+ ht);
System.out.println(“size”+ ht.size());
Set set = ht.entrySet();
for(Iterator
iterator= set.iterator();iterator.hashNext();) {
Object object =
(Object)iterator.next();
//object
contains map.entry values.
Map.Entry mapentry =
(Map.Entry)object;
String key = (String) mapentry.getKey();
String value =
(String) mapentry.getValue();
System.out.println(“keys”+key+”à”+value); }
} }
|
Here we can use
Enumeration methods also instead of Iterator to read the elements.
TreeMap:-
TreeMap is a class
implementing SortedMap interface.where SortedMap contains functionality to
arrange the keys in ascending order.
TreeMap object will
arrange the key elements in ascending or alphabetical order.
Eg:-
public class TreeMapDemo
{
public
static void main(String args[])
{
TreeMap treemap =
new TreeMap();
treemap.put(“3”,”abc”);
treemap.put(“5”,”def”);
treemap.put(“1”,”rani”);
treemap.put(“4”,”jani”);
treemap.put(“2”,”soni”);
System.out.println(“treemap”+ treemap);
System.out.println(“size”+ treemap.size());
Set set = treemap.entrySet();
for(Iterator
iterator= set.iterator();iterator.hashNext();) {
Object object =
(Object)iterator.next();
//object
contains map.entry values.
Map.Entry mapentry =
(Map.Entry)object;
String key = (String) mapentry.getKey();
String value =
(String) mapentry.getValue();
System.out.println(“keys”+key+”à”+value); }
} }
|
Comparator:-
It as an interface
provided as part of “java.util” package which contains 2 methods.
Publuc abstract int
compare(Object o1,Object o2);
Public abstract
boolean equals(java.lang.Object);
Using this comparator
interface we can arrange the elements in reverse order also.
To do that our class
should be implements comparator interface and then override compare methods.
Create an object of our
class and pass it an argument to TreeSet constructor.
Eg:-
public class Customer implements Comparator {
public int compare(Object o1, Object o2) {
String name1=(String)o1;
String name2=(String)o2;
return name2.compareTo(name1); }
}
public class descending {
public
static void main(String args[]) {
Customer c= new
Customer();
TreeSet tree = new
TreeSet();
tree.add(“mahesh”);
tree.add(“soni”);
tree.add(“janu”);
tree.add(“chandu”);
tree.add(“sitha”);
Syastem.out.println(“tree”+ tree); } }
|
StringTokenizer:-
It is a class which
is used to pass the string into multiple pieces(tokens) and it is available in
java.util package.
StringTokenizer class
implements Enumeration interface.so we can enumerate all the tokens from a
parsed string or text.
Here we will use
“delimitters” to pass the string.
Delimitters are
characters like ; , . , ’ , / , - , @ , white space etc.
Eg:-
public class StringTokenDemo
{
public
static void main(String args[]) {
String message =”i_am_student_of_itarget_it;
StringTokenizer stringtoken
= new StringTokenizer(message,”_”);
//Read
the tokens as follows.
while(stringtoken.hasMoreElements()) {
Object object = (Object)stringtoken.nextelement();
String token = (String)object;
System.out.println(“tokens
areà”+token); }
} }
|
Comparable:-
It is a interface
available in java.lang package which is used to arrange the elements in both
forword,reverse orders.
Comparable interface
can be used to compare all the properties of a class.
Eg:-
public class Employee implements Comparable {
public int age();
public void setAge(int
age) {
this.age=age; }
public
void getAge() {
return this.age; }
public int compareTo(Object otherEmployee)
{
//if passed object is of type other than employee then throw
the Exception,otherwise //come out of the loop.
if(!(otherEmployee
instanceof Employee)) {
throw new
ClassCastException(“invalid object”);
}
int age=((Employee)otherEmployee).getAge());
if(this.getAge()>age)
returns 1;
else
if(this.getAge()<age)
returns -1;
else
returns 0; }
}
public class CompareDemo
{
public
static void main(String args[]) {
Employee emp1 = new Employee();
emp1.setAge(31);
Employee emp2 = new Employee();
emp2.setAge(35);
int value = emp1.compareTo(emp2);
System.out.println(“compare
2 agesà”+value);
if(emp1.compareTo(emp2)>0)
//We will write the above statement as if(value>0)
System.out.println(“emp1
is greater than emp2 value”);
else if(emp1.compareTo(emp2)<0)
Syastem.out.println(“emp1
is less than emp2”);
else
System.out.println(“both
ages are same”); } }
|
Some of other classes
are available in java.util package.they are
Stacks,Queue,Properties,Date,Calendar
etc.
Q) comparator is interface implemented by
customer but we provide implementation for one method compare then what about
equals ?
Compiler
automatically extends our class with object.in object class already equals methods
is
Implemented.
No comments:
Post a Comment