package task2; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { // task 2 PasswordMaker PasswordGenerator = PasswordMaker.getInstance(); String password = PasswordGenerator.getPassword("Mihai"); PasswordMaker PasswordGenerator2 = PasswordMaker.getInstance(); String password2 = PasswordGenerator2.getPassword("Alex"); System.out.println(password + " " + password2); // task 4 ArrayList List = new ArrayList<>(); List.add(1); List.add(2); List.add(3); List.add(4); System.out.println(List); MyImmutableArray Array = new MyImmutableArray(List); System.out.println(Array.getArray()); List immutableList = Array.getArray(); // Atunci cand rulam programul, la aceasta linie primim eroare // deoarece lista este immutable si nu putem sa o schimbam immutableList.add(5); System.out.println(immutableList); } } package task2; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class MyImmutableArray { private ArrayList immutableArray; public MyImmutableArray(ArrayList immutableArray) { this.immutableArray = immutableArray; } public List getArray () { return Collections.unmodifiableList(immutableArray); } } public MyImmutableArray(ArrayList array) { immutableArray = new ArrayList(array.size()); for (Integer integer : array) { immutableArray.add(Integer.valueOf(integer)); } }