Java Basics Revision
Java Basics Revision
Yes. If you're preparing for interviews or coding rounds, don't try to memorize the entire
Java language in one day. Instead, memorize the 20% of Java that you'll use in 80% of
DSA problems.
import [Link].*;
[Link]("Hello World");
}
}
Remember:
main method
2. Printing
[Link]("Hello");
[Link]("Hello");
[Link] 1/43
7/9/26, 5:20 PM Java Basics Revision
Java
[Link]("%d %s",10,"Java");
Difference
print()
No new line
println()
Next line
printf()
Formatting
3. Variables
Remember
Decimal → double
Sentence → String
4. Data Types
Type Example
byte 100
short 1000
int 100000
[Link] 2/43
7/9/26, 5:20 PM Java Basics Revision
Type Example
long 100000L
float 10.5f
double 10.5
char 'A'
boolean true
String "Java"
5. Taking Input
int a = [Link]();
double b = [Link]();
String s = [Link]();
char ch = [Link]().charAt(0);
Remember
next()
one word
nextLine()
whole sentence
6. Operators
Arithmetic
+
-
*
[Link] 3/43
7/9/26, 5:20 PM Java Basics Revision
/
%
Ja a
Comparison
==
!=
>
<
>=
<=
Logical
&&
||
7. If Else
if(a>b){
[Link]("A");
else{
[Link]("B");
Else If
if(a>90){
else if(a>80){
else{
[Link] 4/43
7/9/26, 5:20 PM Java Basics Revision
8. Switch
switch(day){
case 1:
[Link]("Mon");
break;
case 2:
[Link]("Tue");
break;
default:
[Link]("Invalid");
9. Loops
For
for(int i=0;i<5;i++){
[Link](i);
While
while(i<5){
i++;
Do While
do{
i++;
[Link] 5/43
7/9/26, 5:20 PM Java Basics Revision
}while(i<5);
break;
Java
Stops loop.
continue;
Java
11. Arrays
Create
OR
Length
[Link]
Java
Access
arr[0]
Java
Loop
for(int i=0;i<[Link];i++){
[Link](arr[i]);
[Link] 6/43
7/9/26, 5:20 PM Java Basics Revision
Enhanced Loop
for(int x:arr){
[Link](x);
12. 2D Array
int[][] arr = {
{1,2},
{3,4}
};
Traversal
for(int i=0;i<[Link];i++){
for(int j=0;j<arr[i].length;j++){
[Link](arr[i][j]);
13. Strings
Create
String s = "Java";
Java
Length
[Link] 7/43
7/9/26, 5:20 PM Java Basics Revision
[Link]();
Java
Character
[Link](0);
Java
Substring
[Link](1,3);
Java
Compare
[Link]("Java");
Java
Contains
[Link]("av");
Java
Lower
[Link]();
Java
Upper
[Link]();
Java
Split
[Link](" ");
Java
Replace
[Link]("a","b");
Java
[Link] 8/43
7/9/26, 5:20 PM Java Basics Revision
14. StringBuilder
Instead of
s = s + "A";
Java
Use
[Link]("Hello");
[Link]("Java");
[Link]();
[Link](2);
[Link](1,"A");
[Link]();
15. Functions
return a+b;
Call
Void
[Link]("Hi");
[Link] 9/43
7/9/26, 5:20 PM Java Basics Revision
[Link](a,b);
[Link](a,b);
[Link](-5);
[Link](25);
[Link](2,3);
[Link](2.3);
[Link](2.9);
[Link]();
17. ArrayList
Add
[Link](10);
Java
Get
[Link](0);
Java
Set
[Link](0,100);
Java
Remove
[Link](0);
Java
Size
[Link] 10/43
7/9/26, 5:20 PM Java Basics Revision
[Link]();
Java
Loop
for(int x:list){
[Link](x);
18. HashSet
[Link](10);
[Link](10);
[Link](10);
No duplicates.
19. HashMap
Put
[Link]("A",10);
Java
Get
[Link]("A");
Java
Contains
[Link] 11/43
7/9/26, 5:20 PM Java Basics Revision
[Link]("A");
Java
Loop
for(String key:[Link]()){
[Link](key+" "+[Link](key));
20. Sorting
[Link](arr);
Java
Reverse
[Link](arr);
for(int i=[Link]-1;i>=0;i--){
[Link](ch);
[Link](ch);
[Link](ch);
[Link](ch);
[Link](ch);
[Link](ch);
int a = (int)10.5;
Java
Output
10
23. Exception
try{
catch(Exception e){
for(int i=0;i<[Link];i++)
Java
Reverse
for(int i=[Link]-1;i>=0;i--)
Java
String
for(int i=0;i<[Link]();i++)
Java
2D
for(int i=0;i<[Link];i++){
for(int j=0;j<mat[0].length;j++){
[Link] 13/43
7/9/26, 5:20 PM Java Basics Revision
import [Link].*;
Java
It includes:
Scanner
Arrays
ArrayList
HashMap
HashSet
Queue
LinkedList
Stack
PriorityQueue
Collections
Max Heap
PriorityQueue<Integer> pq =
new PriorityQueue<>([Link]());
Java
[Link](a, b) → Maximum
StringBuilder → Efficient string modifications
Enhanced for loop: for (int x : arr)
[Link] 15/43
7/9/26, 5:20 PM Java Basics Revision
Since you're interviewing soon, I also recommend practicing 25 easy-to-medium Java DSA
questions (arrays, strings, numbers, and patterns). Solving those after this revision will
reinforce the syntax much faster than trying to memorize it in isolation.
Sources
For interviews and DSA, you should know how each algorithm works, when to use it, and
its time complexity. Interviewers often ask "Why did you choose this sorting algorithm?"
rather than just asking you to code it.
1. Bubble Sort
Idea
Compare two adjacent elements and swap if they are in the wrong order.
Example
5 3 4 1
5 3 -> swap
3 5 4 1
5 4 -> swap
3 4 5 1
5 1 -> swap
3 4 1 5
Code
int n = [Link];
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-1;j++){
if(arr[j]>arr[j+1]){
[Link] 16/43
7/9/26, 5:20 PM Java Basics Revision
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
Time Complexity
Case Complexity
Average O(n²)
Worst O(n²)
Space
O(1)
Advantages
Easy
Stable
In-place
Disadvantages
Very slow
Not used in real projects
2. Selection Sort
Idea
Find the smallest element.
Repeat.
Example
5 3 2 8
[Link] 17/43
7/9/26, 5:20 PM Java Basics Revision
Smallest =2
Swap
2 3 5 8
Code
int n=[Link];
for(int i=0;i<n-1;i++){
int min=i;
for(int j=i+1;j<n;j++){
if(arr[j]<arr[min])
min=j;
int temp=arr[min];
arr[min]=arr[i];
arr[i]=temp;
Complexity
Case Complexity
Best O(n²)
Average O(n²)
Worst O(n²)
Space
O(1)
Advantages
Less swaps
Simple
Disadvantages
[Link] 18/43
7/9/26, 5:20 PM Java Basics Revision
Slow
3. Insertion Sort
Idea
Works like arranging playing cards.
Example
5 3 4
Take 3
3 5
Take 4
3 4 5
Code
for(int i=1;i<[Link];i++){
int key=arr[i];
int j=i-1;
arr[j+1]=arr[j];
j--;
arr[j+1]=key;
Complexity
[Link] 19/43
7/9/26, 5:20 PM Java Basics Revision
Case Complexity
Best O(n)
Average O(n²)
Worst O(n²)
Advantages
Fast for small arrays
Stable
Used in hybrid sorts
Disadvantages
Slow for large data
4. Merge Sort
Idea
Divide
Sort Left
Sort Right
Merge
Example
8 4 6 2
8 4
6 2
[Link] 20/43
7/9/26, 5:20 PM Java Basics Revision
4 8
2 6
2 4 6 8
Complexity
Case Complexity
Space
O(n)
Advantages
Very fast
Stable
Guaranteed O(n log n)
Disadvantages
Extra memory
5. Quick Sort
Idea
Choose Pivot
Repeat
Example
7 2 5 1 9
Pivot =7
[Link] 21/43
7/9/26, 5:20 PM Java Basics Revision
2 5 1
Complexity
Case Complexity
Worst O(n²)
Space
O(log n)
Advantages
Very fast
In-place
Used in practice
Disadvantages
Worst case O(n²)
Not stable
6. Heap Sort
Idea
Build Max Heap
Repeat
Complexity
Case Complexity
[Link] 22/43
7/9/26, 5:20 PM Java Basics Revision
Case Complexity
Space
O(1)
Advantages
No extra array
Guaranteed O(n log n)
Disadvantages
Slower than Quick Sort in practice
Not stable
7. Counting Sort
Idea
Count frequency.
Example
4 2 2 1
Count
1→1
2→2
4→1
Output
1 2 2 4
Complexity
O(n+k)
k = maximum value
Advantages
Extremely fast for small integer ranges
[Link] 23/43
7/9/26, 5:20 PM Java Basics Revision
Disadvantages
Only integers
Large memory if values are huge
8. Radix Sort
Idea
Sort digit by digit.
329
457
657
839
436
720
355
Sort by
Units
Tens
Hundreds
Complexity
O(d(n+k))
Advantages
Faster than comparison sorts for fixed-size integers
Disadvantages
Integer/string only
More complex
9. Bucket Sort
[Link] 24/43
7/9/26, 5:20 PM Java Basics Revision
Idea
Divide numbers into buckets.
Combine.
Complexity
Average
O(n)
Worst
O(n²)
SEARCHING
1. Linear Search
Idea
Check every element.
1 4 6 7 8
Find 7
7 Found
Code
[Link] 25/43
7/9/26, 5:20 PM Java Basics Revision
for(int i=0;i<[Link];i++){
if(arr[i]==target)
return i;
Complexity
Case Complexity
Best O(1)
Average O(n)
Worst O(n)
Advantages
Works on unsorted arrays
Very simple
Disadvantages
Slow
2. Binary Search
Condition
Array must be sorted.
Idea
Take middle.
Equal?
Yes
Done
Else
Search left/right.
Example
1 3 5 7 9
Find 7
Middle
[Link] 26/43
7/9/26, 5:20 PM Java Basics Revision
7>5
Search Right
7 Found
Code
int left=0;
int right=[Link]-1;
while(left<=right){
int mid=(left+right)/2;
if(arr[mid]==target)
return mid;
else if(arr[mid]<target)
left=mid+1;
else
right=mid-1;
Complexity
Case Complexity
Best O(1)
Average O(log n)
Worst O(log n)
Advantages
Extremely fast
Used everywhere
Disadvantages
Array must be sorted
[Link] 27/43
7/9/26, 5:20 PM Java Basics Revision
3. Jump Search
Idea
Jump √n steps.
Complexity
O(√n)
4. Interpolation Search
Idea
Instead of middle
Complexity
Average
O(log log n)
Worst
O(n)
5. Exponential Search
Idea
Find range using powers of 2.
16
32
[Link] 28/43
7/9/26, 5:20 PM Java Basics Revision
Complexity
O(log n)
Merge O(n log n) O(n log n) O(n log n) O(n) ✅ Large datase
lists, stable s
[Link] 29/43
7/9/26, 5:20 PM Java Basics Revision
Mastering these covers the vast majority of interview questions on sorting and searching.
If you want to get good at DSA interviews, don't memorize hundreds of questions. Instead,
learn the common problem-solving patterns. Most LeetCode, HackerRank, TCS, Infosys,
Accenture, Capgemini, Cognizant, and product-company questions are variations of these
patterns.
1. Brute Force
Idea
Try every possible solution.
Example
1 4 6 5
Try
1+4
[Link] 30/43
7/9/26, 5:20 PM Java Basics Revision
1+6
1+5
4+6
4+5
6+5
Complexity
Usually O(n²)
Use when
Small input
First approach before optimization
When to use
Sorted array
Reverse traversal
Remove duplicates
Pair Sum
Example
1 2 3 5 7 8
Target = 10
L R
1+8
Too small
Move Left
2+8
10
Found
[Link] 31/43
7/9/26, 5:20 PM Java Basics Revision
Problems
Two Sum (sorted)
Remove Duplicates
Reverse String
Container With Most Water
Valid Palindrome
Complexity
O(n)
Remove left.
Add right.
Example
1 2 3 4 5
Window
1 2 3 =6
2 3 4 =9
3 4 5 =12
Instead of
1+2+3
Again
2+3+4
Again
3+4+5
Problems
[Link] 32/43
7/9/26, 5:20 PM Java Basics Revision
Complexity
O(n)
Example
1 2 3 4 5
Prefix
10
15
Want sum
index 2 to 4
15-3=12
Problems
Complexity
Preprocessing O(n)
Query O(1)
[Link] 33/43
7/9/26, 5:20 PM Java Basics Revision
5. HashMap ⭐⭐⭐⭐⭐
Whenever interviewer says
Find frequency
Find duplicates
Think
HashMap
Java
Example
Apple
Banana
Apple
Store
Apple→2
Banana→1
Problems
Two Sum
Frequency Count
Majority Element
Anagram
Longest Consecutive Sequence
Complexity
O(1)
average lookup
6. HashSet
Need uniqueness?
Think
[Link] 34/43
7/9/26, 5:20 PM Java Basics Revision
HashSet
Java
Problems
Remove duplicates
Contains duplicate
Longest Consecutive
Example
Slow
1 step
Fast
2 steps
Cycle exists.
Problems
Detect Cycle
Middle Node
Happy Number
Complexity
O(n)
Sorted
Minimum
Maximum
Search
Complexity
[Link] 35/43
7/9/26, 5:20 PM Java Basics Revision
O(log n)
Problems
Search Insert
First Occurrence
Last Occurrence
Peak Element
Question
Minimum speed
Minimum capacity
Maximum distance
Search answer.
Example
Speed
...
100
10. Recursion
Function calls itself.
Example
Factorial
[Link] 36/43
7/9/26, 5:20 PM Java Basics Revision
5!
5×4!
4×3!
3×2!
2×1
Problems
Tree
Backtracking
DFS
Explore
Undo
Try next
Example
Maze
Sudoku
N Queen
Permutation
Subset
Think
[Link] 37/43
7/9/26, 5:20 PM Java Basics Revision
Choose
Explore
Backtrack
Repeated subproblems
Store answer
Reuse
Example
Fibonacci
Instead of
fib(5)
fib(4)
fib(3)
Again fib(3)
Again fib(2)
Store answers.
Problems
Climbing Stairs
House Robber
Coin Change
[Link] 38/43
7/9/26, 5:20 PM Java Basics Revision
Knapsack
13. Greedy
Always choose best now.
Problems
Activity Selection
Jump Game
Gas Station
Problems
Problems
16. DFS
Go deep.
Then return.
Problems
Graph
Tree
Island
[Link] 39/43
7/9/26, 5:20 PM Java Basics Revision
Flood Fill
Connected Components
Cycle Detection
Network
Smallest
Largest
Top K
Think
PriorityQueue
Java
Problems
K Largest
Merge K Lists
Median
Merge overlaps
Problems
Merge Interval
Insert Interval
[Link] 40/43
7/9/26, 5:20 PM Java Basics Revision
Odd Even
Power of Two
Single Number
Example
Odd Even
if((n&1)==0)
Java
Swap
a=a^b;
b=a^b;
a=a^b;
[Link] 41/43
7/9/26, 5:20 PM Java Basics Revision
[Link] 42/43
7/9/26, 5:20 PM Java Basics Revision
Need frequency/count?
│
Yes ─────► HashMap / HashSet
│
No
│
Longest/Shortest subarray or substring?
│
Yes ─────► Sliding Window
│
No
│
Range sum queries?
│
Yes ─────► Prefix Sum
│
No
│
Top K / Largest / Smallest?
│
Yes ─────► Heap (PriorityQueue)
│
No
│
Tree or Graph?
│
DFS / BFS
Mastering these patterns will help you solve a large percentage of common DSA interview
questions, because many problems are just different applications of the same underlying
ideas.
[Link] 43/43