*Stack:-
class StackDs
//We declared stack size & top private so that only push & pop methods can
access them.
// if they are public any other method can access them and may change its
value.
// So that will be a problem during push & pop operation.
private Object[] stack;
private int size=0;
private int top=-1;
public StackDs(int initSize)
stack=new Object[initSize];
public void push(Object ele)
if(top<[Link]-1)
stack[++top]=ele;
size++;
}
else
[Link]("Stack is Full...");
public Object pop()
if(top!=-1)
Object val=stack[top];
top--;
size--;
return val;
else
return new IndexOutOfBoundsException();
public int size()
{
return size;
class St
public static void main(String[] args)
StackDs s1=new StackDs(5);
[Link]("Size = "+[Link]());
[Link](10);
[Link](20);
[Link](30);
[Link](40);
[Link](50);
[Link]("Size = "+[Link]());
while([Link]()>0)
[Link]([Link]());
[Link]("Size = "+[Link]());
}
*Queue:-
class QueueDs
private Object[] queue;
private int size=0;
private int front=-1;
private int end=-1;
public QueueDs(int initSize)
queue=new Object[initSize];
public void enQueue(Object ele)
if(end<[Link]-1)
queue[++end]=ele;
size++;
front=0;
[Link](ele+" added to Queue.");
// [Link]("front = "+front);
// [Link]("end = "+end);
}
else
[Link]("Queue is Full...");
public Object deQueue()
if(end!=-1)
Object val=queue[front];
front++;
size--;
if(size==0)
front=-1;
end=-1;
return val;
else
{
throw new IndexOutOfBoundsException();
public int size()
return size;
class Q
public static void main(String[] args)
QueueDs q1=new QueueDs(4);
[Link]("Size = "+[Link]());
[Link](10);
[Link](20);
[Link](30);
[Link](40);
[Link]("Size = "+[Link]());
while([Link]()>0)
{
[Link]([Link]());
[Link]("Size = "+[Link]());
*Linked List:-
class Node
Object data;
Node nxt;
public Node(Object data)
[Link]=data;
class LinkedListDs
private Node head=null;
private Node tail=null;
private int size=0;
public boolean add(Object data)
Node nd=new Node(data);
size++;
if(head==null)
head=nd;
tail=nd;
[Link]=nd;
tail=nd;
return true;
public boolean add(Object data,int pos)
Node nd=new Node(data);
size++;
if(pos==0 && head==null)
head=nd;
tail=nd;
return true;
else if(pos==0 && head!=null)
[Link]=head;
head=nd;
tail=[Link];
return true;
else
Node temp1=[Link];
Node temp2;
int i=1;
while(i<pos-1)
temp1=[Link];
i++;
temp2=[Link];
[Link]=nd;
[Link]=temp2;
return true;
}
public Object getFirst()
Object val=[Link];
head=[Link];
size--;
return val;
public Object getLast()
Node temp1=head;
// Object val;
// while(size!=0)
// {
// for(int i=0;i<size-1;i++)
// {
// temp1=[Link];
// }
// val=[Link];
// [Link](val);
// size--;
// temp1=head;
// }
int i=0;
while(i<size-1)
temp1=[Link];
i++;
Object val=[Link];
size--;
return val;
public Object get(int pos)
Object val;
if(pos==0)
val=[Link];
return val;
Node temp=[Link];
int i=1;
while(i<pos)
temp=[Link];
i++;
val=[Link];
return val;
public boolean replace(Object val,int pos)
if(pos==0)
[Link]=val;
return true;
Node temp=[Link];
int i=1;
while(i<pos)
temp=[Link];
i++;
}
[Link]=val;
return true;
public boolean delete(int pos)
if(pos==0)
head=[Link];
[Link]=null;
size--;
[Link]();
return true;
Node temp1=[Link];
Node temp2;
int i=1;
while(i<pos-1)
temp1=[Link];
i++;
}
temp2=[Link];
[Link]=[Link];
[Link]=null;
size--;
[Link]();
return true;
public int size()
return size;
class Sll
public static void main(String[] args)
LinkedListDs l1=new LinkedListDs();
[Link]([Link](10));
[Link]([Link](20));
[Link]([Link](30));
[Link]([Link](40));
[Link]([Link](222,2));
// [Link]([Link](50,3));
// [Link](2);
// [Link]("-----STACK-----");
while([Link]()!=0)
[Link]([Link]());
// [Link]("-----QUEUE-----");
//[Link]();
// [Link]("-----GetPos-----");
// [Link]([Link](2));
*ArrayList:-
import [Link];
class Mobile
String brand;
double price;
String color;
public Mobile(String brand,double price,String color)
[Link]=brand;
[Link]=price;
[Link]=color;
@Override
public String toString()
return brand+" "+price+" "+color;
class Shoes
String brand;
double price;
int size;
public Shoes(String brand,double price,int size)
{
[Link]=brand;
[Link]=price;
[Link]=size;
@Override
public String toString()
return brand+" "+price+" "+size;
class ArList
public static void showCart(ArrayList al)
for(int i=0;i<[Link]();i++)
[Link]([Link](i));
public static void main(String[] args)
{
ArrayList item=new ArrayList();
Mobile m1=new Mobile("Samsung",13990,"Blue");
Mobile m2=new Mobile("OnePlus",40090,"Black");
Shoes s1=new Shoes("Puma",2250,7);
Shoes s2=new Shoes("Reebok",3000,6);
[Link](m1);
[Link](m2);
[Link](s1);
[Link](s2);
showCart(item);
*HashSet:-
import [Link];
import [Link];
class Team
int id;
String name;
int t20;
public Team(int id,String name,int t20)
[Link]=id;
[Link]=name;
this.t20=t20;
@Override
public int hashCode()
return id;
@Override
public boolean equals(Object obj)
return [Link]()==[Link]();
@Override
public String toString()
return id+" "+name+" "+t20;
class HashsetEx
public static void main(String[] args)
Team t1=new Team(1,"india",4);
Team t2=new Team(2,"Australia",5);
Team t3=new Team(3,"New Zealand",6);
Team t4=new Team(2,"Australia",7);
HashSet hs=new HashSet();
[Link](t1);
[Link](t2);//[Link](t1)
[Link](t3);
[Link](t4);//[Link](t2)
Iterator i=[Link]();
while([Link]()==true)
{
[Link]([Link]());
*Treeset:-
import [Link];
import [Link];
class Player implements Comparable
String name;
String country;
int ratings;
public Player(String name,String country,int ratings)
[Link]=name;
[Link]=country;
[Link]=ratings;
@Override
public int compareTo(Object obj)
{
Player p1=(Player)obj;
int val=[Link];
[Link]([Link]+"-"+[Link]+"="+val);
return val;
@Override
public String toString()
return name+" "+country+" "+ratings;
class TreesetEx
public static void main(String[] args)
TreeSet ts=new TreeSet();
[Link](new Player("Pujara","IND",856));
[Link](new Player("Williamson","NZ",878));
[Link](new Player("Smith","AUS",904));
[Link](new Player("Kohli","IND",910));
Iterator i=[Link]();
int rank=1;
while([Link]()==true)
[Link](rank+" "+[Link]());
rank++;
*PriorityQueue:-
import [Link];
import [Link];
class SortPriority implements Comparator
@Override
public int compare(Object obj1,Object obj2)
Customer c1=(Customer)obj1;
Customer c2=(Customer)obj2;
int val=[Link];
return val;
class Customer
String name;
int priority;
String addr;
public Customer(String name,int priority,String addr)
[Link]=name;
[Link]=priority;
[Link]=addr;
@Override
public String toString()
return name+" "+addr+" "+priority;
class PQ2
{
public static void main(String[] args)
SortPriority sp=new SortPriority();
PriorityQueue p1=new PriorityQueue(sp);
[Link](new Customer("Foram",3,"Bilimora"));
[Link](new Customer("Binali",2,"Valsad"));
[Link](new Customer("Dhara",3,"Surat"));
[Link](new Customer("Piyu",1,"Bilimora"));
while([Link]()!=0)
[Link]([Link]());
*hashTable:-
import [Link];
import [Link];
import [Link];
class Hashtab
public static void main(String[] args)
{
Hashtable ht=new Hashtable();
[Link]("dinga",7878982434l);
[Link]("dinga",9898724351l);
[Link]("manja",3142548);
Set keys=[Link]();
Iterator i=[Link]();
while([Link]()==true)
[Link]([Link]([Link]()));
*SynMethod:-
class Counter
private int val=0;
synchronized public void increament()
val++;
}
synchronized public void decreament()
val--;
synchronized public void showVal()
[Link]("value="+val);
class Syn1
public static void main(String[] args)
Counter c1=new Counter();
Runnable r1=()->
[Link]();
[Link]();
};
Runnable r2=()->
[Link]();
[Link]();
};
Thread t1=new Thread(r1);
Thread t2=new Thread(r2);
[Link]();
[Link]();
*SynBlock:-
class Syn2
static String s1=new String("Hello");
public static void main(String[] args)
Runnable r1=()->
synchronized(s1)//StringBuffer is thread-
safe so if we create StringBuffer obj than don't use syn block.
{
s1=s1+"World";
[Link](s1);
};
Runnable r2=()->
synchronized(s1)
s1=s1+"Java";
[Link](s1);
};
Thread t1=new Thread(r1);
Thread t2=new Thread(r2);
[Link]();
[Link]();
}
*Deadlockhandle:-
class DeadLockHandle
static String s1=new String("Hello");
static String s2=new String("Java");
public static void main(String[] args)
Runnable r1=()->
[Link]("t1 Starts...");
[Link]("t1 is waiting to lock s1");
synchronized(s1)
[Link]("t1 locked s1");
try
[Link]("t1 going to wait
state...");
[Link](2000);
[Link]("t1 resumed from
wait state...");
}
catch(InterruptedException ie)
[Link]();
[Link]("t1 is waiting to lock s2");
synchronized(s2)
[Link]("t1 locked s2");
[Link]("t1 unlocked s2");
[Link]("t1 unlocked s1");
[Link]("t1 ends...");
};
Runnable r2=()->
[Link]("t2 Starts...");
[Link]("t2 is waiting to lock s2");
synchronized(s2)
{
[Link]("t2 locked s2");
[Link]("t2 is waiting to lock s1");
synchronized(s1)
[Link]("t2 locked s1");
[Link]("t2 unlocked s1");
[Link]("t2 unlocked s2");
[Link]("t2 ends...");
};
Thread t1=new Thread(r1);
Thread t2=new Thread(r2);
[Link]();
[Link]();
}
*Files:-
import [Link];
class Folder
public static void main(String[] args)
[Link]("Main starts...");
String path="D:/FILEDEMO";
File f1=new File(path);
if([Link]()==false)
[Link]();
[Link]("Folder created...");
else
[Link]("Folder already exists...");
[Link]("Main ends...");
}
import [Link];
import [Link];
class File1
public static void main(String[] args)
[Link]("Main starts...");
String path="D:/FILEDEMO/[Link]";
File f1=new File(path);
if([Link]()==false)
try
[Link]();
[Link]("File created...");
catch(IOException ie)
[Link]();
else
{
[Link]("File already exists...");
[Link]("Main ends...");
import [Link];
import [Link];
import [Link];
class WFile
public static void main(String[] args)
[Link]("Main starts...");
String path="D:/FILEDEMO/[Link]";
File f1=new File(path);
try
FileWriter fw=new FileWriter(f1);
[Link]("Hello World...");
[Link]();
[Link]("Writing into file is completed...");
}
catch(IOException ie)
[Link]();
[Link]("Main ends...");
import [Link];
import [Link];
import [Link];
class RFile
public static void main(String[] args)
[Link]("Main starts...");
String path="D:/FILEDEMO/[Link]";
File f1=new File(path);
try
FileReader fr=new FileReader(f1);
int len=(int)[Link]();
char c1[]=new char[len];
[Link](c1);
[Link](c1);
catch(IOException e)
[Link]();
[Link]("Main ends...");
*Serialization:-
import [Link];
import [Link];
import [Link];
class Email implements Serializable
String subject;
String msg;
public void compose(String subject,String msg)
{
[Link]=subject;
[Link]=msg;
class Main1
public static void main(String[] args)
Email e1=new Email();
[Link]("greetings","Good Morning");
String path="D:/FILEDEMO/[Link]";
try
FileOutputStream fos=new FileOutputStream(path);
ObjectOutputStream os=new ObjectOutputStream(fos);
[Link](e1);
[Link]("Object Serialized....");
catch(Exception e)
[Link]();
}
}
import [Link];
import [Link];
class Main2
public static void main(String[] args)
String path="D:/FILEDEMO/[Link]";
try
FileInputStream fis=new FileInputStream(path);
ObjectInputStream ois=new ObjectInputStream(fis);
Email e=(Email)[Link]();
[Link]([Link]);
[Link]([Link]);
catch(Exception e)
[Link]();
}
}
*Garbage Collector:-
class Sample //extends Object
public void display()
[Link]("display() of Sample class...");
@Override
public void finalize()
[Link]("Object deleted....");
class Main3
public static void main(String[] args)
Sample s=new Sample();
[Link]();
s=null;
[Link]();
for(int i=0;i<4;i++)
[Link](i);