Practical Code Examples
Real-World Scenarios of Array to ArrayList Conversion
Scenario 1: User Management System
import java.util.ArrayList;
import java.util.Arrays;
public class UserManagement {
public static void main(String[] args) {
// Initial user array
String[] userArray = {"admin", "manager", "guest"};
// Convert to ArrayList for dynamic operations
ArrayList<String> userList = new ArrayList<>(Arrays.asList(userArray));
// Add new user
userList.add("developer");
// Remove user
userList.remove("guest");
System.out.println("Updated User List: " + userList);
}
}
Scenario 2: Inventory Management
import java.util.ArrayList;
import java.util.stream.Collectors;
class Product {
private String name;
private double price;
public Product(String name, double price) {
this.name = name;
this.price = price;
}
}
public class InventorySystem {
public static void main(String[] args) {
// Product array
Product[] productArray = {
new Product("Laptop", 1000.0),
new Product("Smartphone", 500.0),
new Product("Tablet", 300.0)
};
// Convert using Stream API
ArrayList<Product> inventoryList = new ArrayList<>(
Arrays.stream(productArray).collect(Collectors.toList())
);
}
}
Conversion Techniques Comparison
graph TD
A[Conversion Method] --> B[Arrays.asList()]
A --> C[Stream API]
A --> D[Manual Addition]
B --> E[Simple, Quick]
C --> F[Flexible, Modern]
D --> G[Most Control]
Conversion Method |
Small Arrays |
Large Arrays |
Flexibility |
Arrays.asList() |
Fastest |
Moderate |
Limited |
Stream API |
Moderate |
Slower |
High |
Manual Addition |
Slow |
Moderate |
Highest |
Scenario 3: Data Filtering
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class DataFilter {
public static void main(String[] args) {
Integer[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// Filter even numbers using Stream API
ArrayList<Integer> evenNumbers = new ArrayList<>(
Arrays.stream(numbers)
.filter(n -> n % 2 == 0)
.collect(Collectors.toList())
);
System.out.println("Even Numbers: " + evenNumbers);
}
}
Advanced Conversion Techniques
Generic Method for Conversion
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class GenericConverter {
// Generic method to convert any array to ArrayList
public static <T> ArrayList<T> convertToArrayList(T[] array) {
return new ArrayList<>(Arrays.asList(array));
}
public static void main(String[] args) {
String[] names = {"Alice", "Bob", "Charlie"};
ArrayList<String> nameList = convertToArrayList(names);
}
}
LabEx Recommendation
LabEx suggests practicing these conversion techniques in interactive coding environments to build practical skills and understand nuanced implementation details.
Best Practices
- Choose conversion method based on specific use case
- Consider performance for large datasets
- Leverage Stream API for complex transformations
- Use generics for flexible, type-safe conversions