1] Programs in array
1) Find Minimum and Maximum no in given array
package array;
class Find_Min_Array{
static void min(int arr[]){
int min=arr[0]; // by default array 0 is set as min
for(int i=1;i<arr.length;i++)//if i=0 then also same ans is displayed
/*since arr[0] is already in min, hence started from 1st array
instead of 0 ie.i=1 in for loop */
if(min>arr[i]) //checks array 0 is less than min
min=arr[i];
System.out.println("min:" +min);
}
//max
static void max(int arr[]){
int max=arr[0]; // by default array 0 is set as max
for(int i=1;i<arr.length;i++)
if(max<arr[i]) //checks array 0 is greater than max
max=arr[i];
System.out.println("max:"+max);
}
public static void main(String args[]){
int a[]={33,3,4,5,2};
min(a);//passing array in the method. note: static hence method is directly called
max(a);
}}
Output:
min:2
max:33
2) Find the missing no. in array
package array;
public class Find_Missing_No {
/*
Logic: Store nos. in 2 different arrays.
1st array contains sum of all n nos
2nd array contains sum of n-1 nos (missing no. not present)
Add both arrays individually.
Subtract 1 from another. Subtracted answers is missing no.
*/
public static void main(String args[])
{
int[] desired_sum = {1,2,3,4};
int sum = 0;
for( int i : desired_sum) {
sum += i;
}
System.out.println("sum : "+sum);
int[] actual_sum = {1,3,4};
int sum1 = 0;
for( int i : actual_sum) {
sum1 += i;
}
System.out.println("sum1 : "+sum1);
System.out.println("Missing No: "+(sum-sum1));
}
}
/*
Note:Once java-8 is out (March 2014) you'll be able to use streams:
int[] a = {10,20,30,40,50};
int sum = IntStream.of(a).sum();
System.out.println("The sum is " + sum);
*/
Output:
sum : 10
sum1 : 8
Missing No: 2
3) Find common elements in array
package array;
public class CommonElementsInArray {
// works with string as well
public static void main(String a[]){
int[] arr1 = {4,7,3,9,2};
int[] arr2 = {3,2,12,9,40,32,4};
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
if(arr1[i]==arr2[j]){
System.out.println(arr1[i]);
}
}
}
}
}
Output:
4
3
9
2
4) Find No. nearest to zero
package array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class NearestToZero {
public static void main(String args[]){
int a[]={-2,33,3,4,5,2};
closest(a);
}
static void closest(int[] array) {
int num = array[0];
int absNum = Math.abs(num);
for(int i = 1; i < array.length; ++i) // note ++i
{
int newAbs = Math.abs(array[i]);
if(newAbs < absNum) {
absNum = newAbs;
num = array[i];
}
}
//return num;
System.out.println("num:"+num);
}
}
Output:
num:-2
2] Programs in collection framework
Remove Duplicate from List
package interview_programs;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
public class RemDupFromList {
public static void main(String[] args)
{
List li = new ArrayList();
li.add("A");
li.add("C");
li.add("B");
li.add("A");//Duplicate
li.add("A");//Duplicate
// We have facility to pass a List into Set constructor and vice verse to cast
List li2 = new ArrayList(new HashSet(li)); //no order(No duplicates in Set)
// List li2 = new ArrayList(new LinkedHashSet(li)); //If you need to preserve the order use 'LinkedHashSet'
System.out.println("list:" + li2);
Iterator it= li2.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
Output:
list:[A, B, C]
A
B
C
How to Synchronize ArrayList in Java
By using Collections.synchronizedList
SynchronizedArrayListDemo.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class SynchronizedArrayListDemo {
public static void main(String args[]) {
// An ArrayList which is not synchronized
List<String> listOfSymbols = new ArrayList<String>();
listOfSymbols.add("RELIANCE");
listOfSymbols.add("TATA");
listOfSymbols.add("TECHMAH");
listOfSymbols.add("HDFC");
listOfSymbols.add("ICICI");
// Synchronizing ArrayList in Java
listOfSymbols = Collections.synchronizedList(listOfSymbols);
// While Iterating over synchronized list, you must synchronize
// on it to avoid non-deterministic behavior
synchronized(listOfSymbols){
Iterator<String> myIterator = listOfSymbols.iterator();
while(myIterator.hasNext()){
System.out.println(myIterator.next());
}
}
}
}
Output:RELIANCE
TATA
TECHMAH
HDFC
ICICI
Program in HashMap
package array;
import java.util.*;
class Hashmap{
public static void main(String args[]){
HashMap<Integer,String> hm=new HashMap<Integer,String>();
hm.put(null,"abc"); //one null key, any no of null values
hm.put(null,"xyz");// hashmap cannot have duplicate values
hm.put(null,"xyz");
hm.put(100,"Amit");
hm.put(100,"Vijay");
hm.put(100,"krishna");
hm.put(102,"Rahul");
for(Map.Entry m:hm.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
System.out.println("get(100):"+hm.get(100));
}
}
Output:
102 Rahul
null xyz
100 krishna
get(100):krishna
Program in Treemap
package array;
import java.util.*;
class Treemap{
public static void main(String args[]){
TreeMap<Integer,String> hm=new TreeMap<Integer,String>();
//hm.put(null,"abc"); //run time error
hm.put(100,"Amit"); // cannot contain null key, any no of null values(ascending order of key)
hm.put(100,"Ravi");
hm.put(100,"Vijay");
hm.put(103,"Rahul");
hm.put(104,null);
hm.put(105,null);
for(Map.Entry m:hm.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
}
}
Output:
100 Vijay
103 Rahul
104 null
105 null
1) Find Minimum and Maximum no in given array
package array;
class Find_Min_Array{
static void min(int arr[]){
int min=arr[0]; // by default array 0 is set as min
for(int i=1;i<arr.length;i++)//if i=0 then also same ans is displayed
/*since arr[0] is already in min, hence started from 1st array
instead of 0 ie.i=1 in for loop */
if(min>arr[i]) //checks array 0 is less than min
min=arr[i];
System.out.println("min:" +min);
}
//max
static void max(int arr[]){
int max=arr[0]; // by default array 0 is set as max
for(int i=1;i<arr.length;i++)
if(max<arr[i]) //checks array 0 is greater than max
max=arr[i];
System.out.println("max:"+max);
}
public static void main(String args[]){
int a[]={33,3,4,5,2};
min(a);//passing array in the method. note: static hence method is directly called
max(a);
}}
Output:
min:2
max:33
2) Find the missing no. in array
package array;
public class Find_Missing_No {
/*
Logic: Store nos. in 2 different arrays.
1st array contains sum of all n nos
2nd array contains sum of n-1 nos (missing no. not present)
Add both arrays individually.
Subtract 1 from another. Subtracted answers is missing no.
*/
public static void main(String args[])
{
int[] desired_sum = {1,2,3,4};
int sum = 0;
for( int i : desired_sum) {
sum += i;
}
System.out.println("sum : "+sum);
int[] actual_sum = {1,3,4};
int sum1 = 0;
for( int i : actual_sum) {
sum1 += i;
}
System.out.println("sum1 : "+sum1);
System.out.println("Missing No: "+(sum-sum1));
}
}
/*
Note:Once java-8 is out (March 2014) you'll be able to use streams:
int[] a = {10,20,30,40,50};
int sum = IntStream.of(a).sum();
System.out.println("The sum is " + sum);
*/
Output:
sum : 10
sum1 : 8
Missing No: 2
3) Find common elements in array
package array;
public class CommonElementsInArray {
// works with string as well
public static void main(String a[]){
int[] arr1 = {4,7,3,9,2};
int[] arr2 = {3,2,12,9,40,32,4};
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
if(arr1[i]==arr2[j]){
System.out.println(arr1[i]);
}
}
}
}
}
Output:
4
3
9
2
4) Find No. nearest to zero
package array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class NearestToZero {
public static void main(String args[]){
int a[]={-2,33,3,4,5,2};
closest(a);
}
static void closest(int[] array) {
int num = array[0];
int absNum = Math.abs(num);
for(int i = 1; i < array.length; ++i) // note ++i
{
int newAbs = Math.abs(array[i]);
if(newAbs < absNum) {
absNum = newAbs;
num = array[i];
}
}
//return num;
System.out.println("num:"+num);
}
}
Output:
num:-2
2] Programs in collection framework
Remove Duplicate from List
package interview_programs;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
public class RemDupFromList {
public static void main(String[] args)
{
List li = new ArrayList();
li.add("A");
li.add("C");
li.add("B");
li.add("A");//Duplicate
li.add("A");//Duplicate
// We have facility to pass a List into Set constructor and vice verse to cast
List li2 = new ArrayList(new HashSet(li)); //no order(No duplicates in Set)
// List li2 = new ArrayList(new LinkedHashSet(li)); //If you need to preserve the order use 'LinkedHashSet'
System.out.println("list:" + li2);
Iterator it= li2.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
Output:
list:[A, B, C]
A
B
C
How to Synchronize ArrayList in Java
By using Collections.synchronizedList
SynchronizedArrayListDemo.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class SynchronizedArrayListDemo {
public static void main(String args[]) {
// An ArrayList which is not synchronized
List<String> listOfSymbols = new ArrayList<String>();
listOfSymbols.add("RELIANCE");
listOfSymbols.add("TATA");
listOfSymbols.add("TECHMAH");
listOfSymbols.add("HDFC");
listOfSymbols.add("ICICI");
// Synchronizing ArrayList in Java
listOfSymbols = Collections.synchronizedList(listOfSymbols);
// While Iterating over synchronized list, you must synchronize
// on it to avoid non-deterministic behavior
synchronized(listOfSymbols){
Iterator<String> myIterator = listOfSymbols.iterator();
while(myIterator.hasNext()){
System.out.println(myIterator.next());
}
}
}
}
Output:RELIANCE
TATA
TECHMAH
HDFC
ICICI
Program in HashMap
package array;
import java.util.*;
class Hashmap{
public static void main(String args[]){
HashMap<Integer,String> hm=new HashMap<Integer,String>();
hm.put(null,"abc"); //one null key, any no of null values
hm.put(null,"xyz");// hashmap cannot have duplicate values
hm.put(null,"xyz");
hm.put(100,"Amit");
hm.put(100,"Vijay");
hm.put(100,"krishna");
hm.put(102,"Rahul");
for(Map.Entry m:hm.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
System.out.println("get(100):"+hm.get(100));
}
}
Output:
102 Rahul
null xyz
100 krishna
get(100):krishna
Program in Treemap
package array;
import java.util.*;
class Treemap{
public static void main(String args[]){
TreeMap<Integer,String> hm=new TreeMap<Integer,String>();
//hm.put(null,"abc"); //run time error
hm.put(100,"Amit"); // cannot contain null key, any no of null values(ascending order of key)
hm.put(100,"Ravi");
hm.put(100,"Vijay");
hm.put(103,"Rahul");
hm.put(104,null);
hm.put(105,null);
for(Map.Entry m:hm.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
}
}
Output:
100 Vijay
103 Rahul
104 null
105 null
No comments:
Post a Comment