import java.util.ArrayList; import java.util.List; /** * * */ public class AList { List list = new ArrayList(); public AList() { // TODO Auto-generated constructor stub } /** * */ public AList(List list) { this.list = list; } /* * (non-Javadoc) * * see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { // TODO Auto-generated method stub AList aList = (AList) obj; List arrayList = aList.getList(); if (arrayList.size() != list.size()) { return false; } for (int i = 0; i < list.size(); i++) { if (list.get(i) != arrayList.get(i)) { return false; } } return true; } /** * return the list */ public List getList() { return list; } /** * param list * the list to set */ public void setList(List list) { this.list = list; } /** * param args */ public static void main(String[] args) { // TODO Auto-generated method stub List integers = new ArrayList(); integers.add(10); integers.add(20); integers.add(30); integers.add(40); integers.add(50); List integers1 = new ArrayList(); integers1.add(10); integers1.add(20); integers1.add(30); integers1.add(40); integers1.add(60); AList aList1 = new AList(integers); AList aList2 = new AList(integers); System.out.println(\"list1 and list2 are equal? \" + aList1.equals(aList2)); aList2 = new AList(integers1); System.out .println(\"After adding 60 to list2, list1 and list2 are not equal? \" + aList1.equals(aList2)); } } OUTPUT: list1 and list2 are equal? true After adding 60 to list2, list1 and list2 are not equal? false Solution import java.util.ArrayList; import java.util.List; /** * * */ public class AList { List list = new ArrayList(); public AList() { // TODO Auto-generated constructor stub } /** * */ public AList(List list) { this.list = list; } /* * (non-Javadoc) * * see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { // TODO Auto-generated method stub AList aList = (AList) obj; List arrayList = aList.getList(); if (arrayList.size() != list.size()) { return false; } for (int i = 0; i < list.size(); i++) { if (list.get(i) != arrayList.get(i)) { return false; } } return true; } /** * return the list */ public List getList() { return list; } /** * param list * the list to set */ public void setList(List list) { this.list = list; } /** * param args */ public static void main(String[] args) { // TODO Auto-generated method stub List integers = new ArrayList(); integers.add(10); integers.add(20); integers.add(30); integers.add(40); integers.add(50); List integers1 = new ArrayList(); integers1.add(10); integers1.add(20); integers1.add(30); integers1.add(40); integers1.add(60); AList aList1 = new AList(integers); AList aList2 = new AList(integers); System.out.println(\"list1 and list2 are equal? \" + aList1.equals(aList2)); aList2 = new AList(integers1); System.out .println(\"After adding 60 to list2, list1 and list2 are not equal? \" + aList1.equals(aList2)); } } OUTPUT: list1 and list2 are equal? true After adding 60 to list2, list1 and list2 are not equal? fal.