Infosys Java Training Material Pdf » 〈Quick〉

@Override public double calculateSalary() return baseSalary + bonus;

public interface TaxCalculator double calculateTax(double income);

// Method 2: Implement Runnable (preferred) class MyRunnable implements Runnable public void run() /* task */

// getters & setters

public class InfosysTaxCalculator implements TaxCalculator @Override public double calculateTax(double income) return income * 0.10; // 10% tax

List<Employee> list = new ArrayList<>(); list.sort(Comparator.comparing(Employee::getSalary).reversed()); 7. Multithreading & Concurrency Creating Threads // Method 1: Extend Thread class MyThread extends Thread public void run() /* task */

public PermanentEmployee(String empId, String name, double baseSalary, double bonus) super(empId, name); this.baseSalary = baseSalary; this.bonus = bonus; Infosys Java Training Material Pdf

// Derived class public class PermanentEmployee extends Employee private double baseSalary; private double bonus;

ExecutorService executor = Executors.newFixedThreadPool(10); executor.submit(() -> System.out.println("Task executed by: " + Thread.currentThread().getName()); ); executor.shutdown(); Synchronization public synchronized void increment() count++; // Better: Use AtomicInteger private AtomicInteger count = new AtomicInteger(0); count.incrementAndGet(); 8. File I/O and NIO Traditional I/O try (BufferedReader reader = new BufferedReader(new FileReader("data.txt"))) String line; while ((line = reader.readLine()) != null) System.out.println(line); catch (IOException e) e.printStackTrace();

// for-each (preferred over index loops) for (String name : nameList) System.out.println(name); // 10% tax List&lt

public abstract double calculateSalary();

| Interface | Implementation | Use Case | |-----------|----------------|-----------| | List | ArrayList, LinkedList | Ordered, duplicates allowed | | Set | HashSet, TreeSet | Unique elements | | Map | HashMap, TreeMap | Key-value pairs | | Queue | PriorityQueue, ArrayDeque | FIFO processing | Example – Group employees by department Map<String, List<Employee>> deptMap = new HashMap<>(); for (Employee emp : employeeList) deptMap.computeIfAbsent(emp.getDepartment(), k -> new ArrayList<>()).add(emp);