Q 1 HOW TO CREATE SINGLETONE CLASS ?
Note:=>There are two forms of singleton design pattern
Early Instantiation: creation of instance at load time.
ex: private static A obj=new A(); //Early, instance will be created at load time
Lazy Instantiation: creation of instance when required.
ex: if (obj == null){
obj = new Singleton();//instance will be created at request time
}
Ex:How to create Singleton design pattern?
Note:-(below bracket mean mandatory)
1- private (static) memberes
2- (private) constructor
3- (static) factory method to return class object
------------------------------------------
Q2 -How to Create singleton class ?
ans:
public class SingleTon {
private static SingleTon obj; //static var //early
initialization :private static SingleTon obj = new SingleTon();
private SingleTon()
{
//private constuctor
}
public static SingleTon getInstance()
{
if(obj==null)
{
obj = new SingleTon(); // Lazy initialization
}
return obj;
}
public static void main(String[] args)
{
SingleTon obj1=[Link]();
SingleTon obj2=[Link]();
[Link]([Link]());
[Link]([Link]());
-------------------------
Q : HOW MANY WAYS ARE TO ITERATE HASHMAP ?
------------------------------------------
WAYS TO ITERATE HASHMAP ?
========================
1 : using methods keySet() and values() :
------------------------------------------
only for key :-
---------------
for(String str : [Link]())
{
[Link](str);
}
or
for(Integer stno : [Link]())
{
[Link](stno);
}
only for values :-
------------------
for(String strnm : [Link]())
{
[Link](strnm);
}
or
for(String city : [Link]())
{
[Link](city);
}
2 :[Link]() using For-Each loop :
---------------------------------------
for(Entry<String, String> entry: [Link]())
{
[Link]([Link]()+" "+[Link]());
}
or
for([Link]<String, Object> entry : [Link]()) {
String key = [Link]();
Object value = [Link]();
3 : using iterators over [Link]<K, V> :
=====================================
Iterator<[Link]<String, String>> itr= [Link]().iterator();
while([Link]())
{
[Link]<String, String> entry=[Link]();
[Link]([Link]()+" "+[Link]());
}
or
Iterator<[Link]<Integer, String>> itr2 =
[Link]().iterator();
while([Link]())
{
[Link]<Integer, String> entry = [Link]();
[Link]([Link]() +" "+[Link]());
}
4: forEach(action) method :
-----------------------------
[Link]((k,v) -> [Link](k +" "+v));
5: iterating through key and searching values using get() :
-----------------------------------------------------------
for(Integer k: [Link]())
{
String v = [Link](k);
[Link](v);
}
Q: how to create multiple threads ?
------------------------------------
ans:
Q: Creating Multiple Threads ?
ans:-
class MyThread extends Thread {
public MyThread (String s) {
super(s);
}
public void run() {
[Link]("Run: "+ getName());
}
}
class TestThread {
public static void main (String arg[]) {
Scanner input = new Scanner([Link]);
[Link]("Please input the number of Threads you want to create: ");
int n = [Link]();
[Link]("You selected " + n + " Threads");
for (int x=0; x<n; x++)
{
MyThread temp= new MyThread("Thread #" + x);
[Link]();
[Link]("Started Thread:" + x);
}
}
}
EXAMPLE 1: [sorts the list elements Student the basis of age]
==========
package [Link];
import [Link];
import [Link];
class Student implements Comparable<Student>
{
int rollno;
public int getRollno() {
return rollno;
}
public void setRollno(int rollno) {
[Link] = rollno;
}
public String getName() {
return name;
}
public void setName(String name) {
[Link] = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
[Link] = age;
}
String name;
int age;
public Student(int rollno, String name, int age) {
super();
[Link] = rollno;
[Link] = name;
[Link] = age;
}
@Override
public String toString() {
return "Student [rollno=" + rollno + ", name=" + name + ", age=" + age
+ "]";
}
@Override
public int compareTo(Student o) {
//Acending
return [Link];
//Descending
//return -[Link]
[Note:- on name use compareTo() : return -
[Link]().compareTo([Link]());]
}
}
public class ComparableSorting {
public static void main(String[] args) {
ArrayList<Student> al = new ArrayList<Student>();
[Link](new Student(101,"Badri lal",29));
[Link](new Student(105,"Nagendra",27));
[Link](new Student(111,"Monu",30));
[Link](al);
for(Student st:al)
{
[Link]([Link]+" "+[Link]+" "+[Link]);
}
op:
===
111 Monu 30
101 Badri lal 29
105 Nagendra 27
EXAMPLE 2:
==========
package [Link];
import [Link];
import [Link];
class Employee implements Comparable<Employee>
{
String name;
public String getName() {
return name;
}
public void setName(String name) {
[Link] = name;
}
public int getSalary() {
return Salary;
}
public void setSalary(int salary) {
Salary = salary;
}
int Salary;
public Employee(String name, int salary) {
super();
[Link] = name;
Salary = salary;
}
@Override
public int compareTo(Employee o)
{
//Ascending
//return [Link];
//Descending
return -[Link];
//on name : return -[Link]().compareTo([Link]());
}
public class ComparableSoring {
public static void main(String[] args) {
ArrayList<Employee> e = new ArrayList<Employee>();
[Link](new Employee("Badri",101));
[Link](new Employee("Nagendra",102));
[Link](new Employee("Dinesh",104));
[Link](e);
for(Employee e1: e)
{
[Link]([Link]+" "+[Link]);
}
/*package [Link];
import [Link];
import [Link];
class Employee1 implements Comparable<Employee>
{
String name;
public String getName() {
return name;
}
public void setName(String name) {
[Link] = name;
}
public int getSalary() {
return Salary;
}
public void setSalary(int salary) {
Salary = salary;
}
int Salary;
public Employee1(String name, int salary) {
super();
[Link] = name;
Salary = salary;
}
@Override
public int compareTo(Employee o)
{
return -[Link]().compareTo([Link]());
}
public class ComparableSoring {
public static void main(String[] args) {
ArrayList<Employee> e = new ArrayList<Employee>();
[Link](new Employee("Badri",101));
[Link](new Employee("Nagendra",102));
[Link](new Employee("Dinesh",104));
[Link](e);
for(Employee e1: e)
{
[Link]([Link]+" "+[Link]);
}
EXAMPLE 1: COMPARATOR SORTING ACCORDING TO DEPT , SALARY
==========================================================
package [Link];
import [Link];
import [Link];
import [Link];
//Employee class with setter/getter/toStirng
class Employee
{
int id;
String name;
String Dept;
int salary;
public Employee(int id, String name, String dept, int salary) {
super();
[Link] = id;
[Link] = name;
Dept = dept;
[Link] = salary;
}
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", Dept=" + Dept + ",
salary=" + salary + "]";
}
//salary comparator class
class salaryComparator implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2) {
return [Link];
}
}
//Dept comparator class
class DeptComparator implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2) {
// TODO Auto-generated method stub
return [Link]([Link]);
}
}
public class ComparatorSorting {
public static void main(String[] args) {
ArrayList<Employee> obj = new ArrayList<Employee>();
fff [Link](new Employee(101,"Badri","Developer",50000));
[Link](new Employee(102,"Monu","HR",30000));
[Link](new Employee(103,"Nagendra","Manager",33000));
//sorting by salary
[Link](obj, new salaryComparator());
//sorting by dept
[Link](obj, new DeptComparator());
for(Employee e1: obj)
{
[Link]([Link]+" "+[Link]+" "+[Link]+" "+[Link]);
}
}
COMPARATOR
------------
COMPARATOR
package [Link];
import [Link];
import [Link];
import [Link];
//Employee class with setter/getter/toStirng
class Employee
{
int id;
String name;
String Dept;
int salary;
public Employee(int id, String name, String dept, int salary) {
super();
[Link] = id;
[Link] = name;
Dept = dept;
[Link] = salary;
}
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", Dept=" + Dept + ",
salary=" + salary + "]";
}
//salary comparator class
class salaryComparator implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2) {
return [Link];
}
}
//Dept comparator class
class DeptComparator implements Comparator<Employee>
{
@Override
public int compare(Employee e1, Employee e2) {
// TODO Auto-generated method stub
return [Link]([Link]);
}
}
public class ComparatorSorting {
public static void main(String[] args) {
ArrayList<Employee> obj = new ArrayList<Employee>();
[Link](new Employee(101,"Badri","Developer",50000));
[Link](new Employee(102,"Monu","HR",30000));
[Link](new Employee(103,"Nagendra","Manager",33000));
//sorting by salary
[Link](obj, new salaryComparator());
//sorting by dept
//[Link](obj, new DeptComparator());
for(Employee e1: obj)
{
[Link]([Link]+" "+[Link]+" "+[Link]+" "+[Link]);
}
}
}
Q : TO FIND PALINDROME NO BW RANGE. ?
--------------------------------------
package [Link];
public class Palindrome {
public static int check(int num)
{
int result=0;
while(num>0)
{
result= result*10 + (num%10);
num=num/10;
}
return result;
}
public static void main(String[] args) {
for(int i=1; i<1000; i++ )
{
if(i==check(i))
{
[Link](i);
}
}
}
----------------------------------------------------------------------
Q:-Program: Write a program to sort a map by value.
Description:
Sort or order a HashMap or TreeSet or any map item by value. Write a comparator
which compares by value, not by key. Entry class might hleps you here.
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class OrderByValue {
public static void main(String a[]){
Map<String, Integer> map = new HashMap<String, Integer>();
[Link]("java", 20);
[Link]("C++", 45);
[Link]("Java2Novice", 2);
[Link]("Unix", 67);
[Link]("MAC", 26);
[Link]("Why this kolavari", 93);
Set<Entry<String, Integer>> set = [Link]();
List<Entry<String, Integer>> list = new ArrayList<Entry<String,
Integer>>(set);
[Link]( list, new Comparator<[Link]<String, Integer>>()
{
public int compare( [Link]<String, Integer> o1, [Link]<String,
Integer> o2 )
{
return ([Link]()).compareTo( [Link]() );
}
} );
for([Link]<String, Integer> entry:list){
[Link]([Link]()+" ==== "+[Link]());
}
}
}
Output:
Why this kolavari ==== 93
Unix ==== 67
C++ ==== 45
MAC ==== 26
java ==== 20
Java2Novice ==== 2
-------------------------------------------------------
3 : HOW TO OVERRIDE hashCode() , equals(), toString(), ? or how to provide our
own hashcode ?
===================================================================================
============
package [Link];
package [Link];
public class Employee {
int id;
String name;
public Employee(int id, String name) {
[Link]=id;
[Link]=name;
}
// hashCode overriding
public int hashCode(){
return id;
}
// equals overriding
@override
public boolean equals(Object obj)
{
if(obj==this)
return true;
if(!(obj instanceof Employee))
{
return false;
}
Employee ob = (Employee)obj;
return [Link]==id && [Link](name);
}
// toString() overriding
public String toString()
{
return "id : "+id +" Name : "+name;
}
public static void main(String[] args) {
Employee obj= new Employee(123,"BL");
Employee obj2= new Employee(123,"BL");
[Link]("HC : "+[Link]());
[Link](obj);
[Link]("Equals : "+ [Link](obj2));
[Link]("HC : "+[Link]());
[Link](obj2);
[Link]("Equals : "+[Link](obj));
}
}