import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class PhoneBook {
public static void main(String[] args) {
// Create a HashMap to store names and phone numbers
Map<String, String> phoneBook = new HashMap<>();
// Add at least 5 entries
phoneBook.put("Alice", "123-456-7890");
phoneBook.put("Bob", "987-654-3210");
phoneBook.put("Charlie", "555-234-5678");
phoneBook.put("David", "444-888-2222");
phoneBook.put("Eve", "666-777-9999");
// Scanner for user input
Scanner scanner = new Scanner(System.in);
String name;
// Allow multiple lookups until user quits
while (true) {
System.out.print("Enter a name to search (or type 'quit' to exit): ");
name = scanner.nextLine().trim();
if (name.equalsIgnoreCase("quit")) {
break;
}
// Search for the name in the phone book
String phoneNumber = phoneBook.get(name);
if (phoneNumber != null) {
System.out.println("Phone number for " + name + ": " + phoneNumber);
} else {
System.out.println("Name not found in the phone book.");
}
}
// Print the phone book in sorted order (optional)
System.out.println("\nPhone Book (Sorted by Name):");
Map<String, String> sortedPhoneBook = new TreeMap<>(phoneBook);
for (Map.Entry<String, String> entry : sortedPhoneBook.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
// Close scanner
scanner.close();
}
}
PhoneBook.main(null);
Enter a name to search (or type 'quit' to exit): Phone number for David: 444-888-2222
Enter a name to search (or type 'quit' to exit): Name not found in the phone book.
Enter a name to search (or type 'quit' to exit): Phone number for Charlie: 555-234-5678
Enter a name to search (or type 'quit' to exit):
Phone Book (Sorted by Name):
Alice : 123-456-7890
Bob : 987-654-3210
Charlie : 555-234-5678
David : 444-888-2222
Eve : 666-777-9999
v popcorn hack v
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class ListExperiment {
public static void main(String[] args) {
// Create an ArrayList and add at least 10 integers
List<Integer> numbers = new ArrayList<>();
Collections.addAll(numbers, 12, 45, 8, 33, 27, 50, 18, 99, 64, 72);
// Sort the list in ascending order
Collections.sort(numbers);
// Filter out odd numbers and collect even numbers
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
// Print sorted even numbers
System.out.println("Sorted even numbers: " + evenNumbers);
// Optional: Display only the odd numbers
List<Integer> oddNumbers = numbers.stream()
.filter(n -> n % 2 != 0)
.collect(Collectors.toList());
System.out.println("Sorted odd numbers: " + oddNumbers);
// Find and print the largest even number
if (!evenNumbers.isEmpty()) {
int largestEven = Collections.max(evenNumbers);
System.out.println("Largest even number: " + largestEven);
} else {
System.out.println("No even numbers found.");
}
}
}
ListExperiment.main(null);
Sorted even numbers: [8, 12, 18, 50, 64, 72]
Sorted odd numbers: [27, 33, 45, 99]
Largest even number: 72
v popcorn hack v
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.List;
import java.util.ArrayList;
public class DequeExperiment {
public static void main(String[] args) {
// Create an ArrayDeque
Deque<String> deque = new ArrayDeque<>();
// Add elements using addFirst() and addLast()
deque.addFirst("Apple");
deque.addLast("Banana");
deque.addFirst("Cherry");
deque.addLast("Date");
deque.addFirst("Elderberry");
deque.addLast("Fig");
// Print the deque
System.out.println("Initial Deque: " + deque);
// Remove one element from each end
String removedFirst = deque.removeFirst();
String removedLast = deque.removeLast();
// Print the deque after removals
System.out.println("Deque after removing first (" + removedFirst + ") and last (" + removedLast + "): " + deque);
// Optional: Convert deque to a list and print
List<String> list = new ArrayList<>(deque);
System.out.println("Converted List: " + list);
// Optional: Empty the deque while printing each removed element
System.out.println("Emptying the deque:");
while (!deque.isEmpty()) {
System.out.println("Removed: " + deque.pollFirst());
}
// Print final deque state
System.out.println("Final Deque (should be empty): " + deque);
}
}
DequeExperiment.main(null);
Initial Deque: [Elderberry, Cherry, Apple, Banana, Date, Fig]
Deque after removing first (Elderberry) and last (Fig): [Cherry, Apple, Banana, Date]
Converted List: [Cherry, Apple, Banana, Date]
Emptying the deque:
Removed: Cherry
Removed: Apple
Removed: Banana
Removed: Date
Final Deque (should be empty): []
v homework v
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static List<Integer> filterEvenNumbers(List<Integer> numbers) {
List<Integer> evenNumbers = new ArrayList<>();
for (int i = 0; i < numbers.size(); i++) {
if (numbers.get(i) % 2 == 0) {
evenNumbers.add(numbers.get(i));
}
}
return evenNumbers;
}
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
numbers.add(i);
}
System.out.println("Input List: " + numbers);
System.out.println("Filtered Even Numbers: " + filterEvenNumbers(numbers));
}
}
ListExample.main(null);
Input List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Filtered Even Numbers: [2, 4, 6, 8, 10]
import java.util.HashSet;
import java.util.Set;
public class SetExample {
public static Set<String> findIntersection(Set<String> set1, Set<String> set2) {
Set<String> intersection = new HashSet<>();
for (String element : set1) {
if (set2.contains(element)) {
intersection.add(element);
}
}
return intersection;
}
public static void main(String[] args) {
Set<String> set1 = new HashSet<>();
set1.add("apple");
set1.add("banana");
set1.add("cherry");
set1.add("date");
Set<String> set2 = new HashSet<>();
set2.add("banana");
set2.add("date");
set2.add("fig");
set2.add("grape");
System.out.println("Set1: " + set1);
System.out.println("Set2: " + set2);
System.out.println("Intersection: " + findIntersection(set1, set2));
}
}
SetExample.main(null);
import java.util.ArrayDeque;
import java.util.Deque;
public class DequeExample {
public static void main(String[] args) {
Deque<String> customerLine = new ArrayDeque<>();
// Step 1: Add customers to the end
customerLine.addLast("Alice");
customerLine.addLast("Bob");
customerLine.addLast("Charlie");
customerLine.addLast("Diana");
System.out.println("Initial line after adding 4 customers (end): " + customerLine);
// Step 2: Add VIP customer at the front
customerLine.addFirst("VIP1");
System.out.println("After VIP arrival (added at front): " + customerLine);
// Step 3: Remove the front customer
customerLine.removeFirst();
System.out.println("After serving the customer at the front (removed): " + customerLine);
// Step 4: Inspect front and back customers
System.out.println("Current front of the line: " + customerLine.peekFirst());
System.out.println("Current back of the line: " + customerLine.peekLast());
// Step 5: Print size
System.out.println("Total number of customers waiting: " + customerLine.size());
}
}
DequeExample.main(null);
Initial line after adding 4 customers (end): [Alice, Bob, Charlie, Diana]
After VIP arrival (added at front): [VIP1, Alice, Bob, Charlie, Diana]
After serving the customer at the front (removed): [Alice, Bob, Charlie, Diana]
Current front of the line: Alice
Current back of the line: Diana
Total number of customers waiting: 4