# Java Cheat Sheet ## Data Types ```java byte b = 127; short s = 32767; int i = 2147483647; long l = 9999999999L; float f = 3.14f; double d = 3.14159; char c = 'A'; boolean flag = true; String str = "Hello"; ``` ## Array ```java int[] arr = new int[5]; int[] arr2 = {1, 2, 3, 4, 5}; int[][] mat = new int[3][3]; Arrays.sort(arr); Arrays.toString(arr); ``` ## String Methods ```java s.length() s.charAt(0) s.substring(1, 4) s.indexOf("a") s.contains("hi") s.replace("a","b") s.split(",") s.trim() s.toUpperCase() s.equals(s2) s.startsWith("Hi") s.isEmpty() Integer.parseInt("5") String.valueOf(5) ``` ## Collections ```java List<String> list = new ArrayList<>(); list.add("a"); list.get(0); list.remove(0); list.size(); Set<Integer> set = new HashSet<>(); set.add(1); set.contains(1); set.remove(1); Map<String,Integer> map = new HashMap<>(); map.put("k",1); map.get("k"); map.containsKey("k"); map.getOrDefault("k", 0); map.forEach((k,v)->{}); Queue<Integer> q = new LinkedList<>(); q.offer(1); q.poll(); q.peek(); Deque<Integer> stack = new ArrayDeque<>(); stack.push(1); stack.pop(); stack.peek(); ``` ## Control Flow ```java if (x > 0) { } else if (x < 0) { } else { } switch (x) { case 1: break; default: } for (int i=0; i<n; i++) { } for (String s : list) { } while (condition) { } do { } while (condition); break; continue; return value; ``` ## OOP ```java class Animal { String name; Animal(String name) { this.name = name; } void speak() { System.out.println("..."); } } class Dog extends Animal { Dog(String name) { super(name); } @Override void speak() { System.out.println("Woof"); } } interface Flyable { void fly(); } abstract class Vehicle { abstract void start(); } ``` ## Exception Handling ```java try { // risky code } catch (SpecificException e) { e.getMessage(); } catch (Exception e) { e.printStackTrace(); } finally { // cleanup } throw new IllegalArgumentException("msg"); void method() throws IOException { } ``` ## Java 8 ```java // Lambda list.sort((a, b) -> a.compareTo(b)); list.forEach(s -> System.out.println(s)); // Stream list.stream() .filter(s -> s.startsWith("A")) .map(String::toUpperCase) .collect(Collectors.toList()); // Optional Optional.ofNullable(value).orElse("default"); // Method Reference list.forEach(System.out::println); ``` ## Multithreading ```java Thread t = new Thread(() -> System.out.println("Thread")); t.start(); t.join(); t.sleep(1000); ExecutorService es = Executors.newFixedThreadPool(4); es.submit(() -> { /* task */ }); es.shutdown(); synchronized void method() { } synchronized (lock) { wait(); notify(); } ``` ## File I/O ```java // Read List<String> lines = Files.readAllLines(Path.of("file.txt")); String content = Files.readString(Path.of("file.txt")); // Write Files.writeString(Path.of("file.txt"), "Hello"); Files.write(Path.of("file.txt"), lines); // BufferedReader try (BufferedReader br = new BufferedReader(new FileReader("f.txt"))) { String line; while ((line = br.readLine()) != null) System.out.println(line); } ``` ## JDBC Quick ```java Connection conn = DriverManager.getConnection(url, user, pass); PreparedStatement ps = conn.prepareStatement("SELECT * FROM t WHERE id=?"); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); while (rs.next()) { rs.getString("col"); } conn.close(); ``` ## Useful Methods ```java Math.max(a, b) Math.min(a, b) Math.abs(n) Math.pow(2, 10) Math.sqrt(16) Math.floor(3.9) Math.ceil(3.1) Math.round(3.5) Math.random() Collections.sort(list) Collections.reverse(list) Collections.shuffle(list) Collections.max(list) Collections.min(list) Collections.frequency(list, elem) ```