package\ package1; \nimport\ java.util.ArrayList; \nimport\ java.util.List; \nimport\ java.util.Scanner; \n\npublic\ class\ CompareLists\ { \n\ private\ static\ Scanner\ scanner; \n\ \n\ public\ static\ void\ main(String[]\ args)\ { \n\ scanner\ =\ new\ Scanner(System.in); \n\ //\ 输入A表 \n\ System.out.print("请输入A表的元素个数:"); \n\ int\ m\ =\ scanner.nextInt(); \n\ List\ A\ =\ new\ ArrayList<>(); \n\ System.out.println("请输入A表的元素:"); \n\ for\ (int\ i\ =\ 0; i\ <\ m; i++)\ { \n\ A.add(scanner.nextInt()); \n\ } \n\ //\ 输入B表 \n\ System.out.print("请输入B表的元素个数:"); \n\ int\ n\ =\ scanner.nextInt(); \n\ List\ B\ =\ new\ ArrayList<>(); \n\ System.out.println("请输入B表的元素:"); \n\ for\ (int\ i\ =\ 0; i\ <\ n; i++)\ { \n\ B.add(scanner.nextInt()); \n\ } \n\ //\ 比较A、B两表的大小 \n\ int\ i\ =\ 0; \n\ int\ j\ =\ 0; \n\ while\ (i\ <\ m\ &&\ j\ <\ n)\ { \n\ if\ (A.get(i)\ <\ B.get(j))\ { \n\ System.out.println("A\ <\ B"); \n\ return; \n\ }\ else\ if\ (A.get(i)\ >\ B.get(j))\ { \n\ System.out.println("A\ >\ B"); \n\ return; \n\ }\ else\ { \n\ i++; \n\ j++; \n\ } \n\ } \n\ if\ (i\ ==\ m\ &&\ j\ ==\ n)\ { \n\ System.out.println("A\ =\ B"); \n\ }\ else\ if\ (i\ ==\ m)\ { \n\ System.out.println("A\ <\ B"); \n\ }\ else\ { \n\ System.out.println("A\ >\ B"); \n\ } \n\ } \n\ } \n\ 该程序采用了ArrayList作为数据结构。ArrayList是基于数组实现的,具有动态扩容的特性,可以根据需要自动调整容量大小。这种物理结构的优点是可以快速随机访问元素,查找和插入的时间复杂度都为O(1)。同时,ArrayList还具有高效的尾部插入和删除操作,时间复杂度为O(1)。因此,ArrayList非常适合用于需要频繁随机访问和插入/删除操作的场景。在本程序中,由于需要频繁地插入元素和比较元素大小,使用ArrayList可以提高程序的效率。