public class Test1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); List prices = new ArrayList(); for (int i = 0; i < 5; i++) { System.out.println("请输入第 " + (i + 1) + " 个商品的价格:"); int p = input.nextInt(); prices.add(Integer.valueOf(p)); // 将录入的价格保存到List集合中 } Collections.sort(prices); // 调用sort()方法对集合进行排序 System.out.println("价格从低到高的排列为:"); for (int i = 0; i < prices.size(); i++) { System.out.print(prices.get(i) + "\t"); } } }如上述代码,循环录入 5 个价格,并将每个价格都存储到已定义好的 List 集合 prices 中,然后使用 Collections 类的 sort() 方法对该集合元素进行升序排序。最后使用 for 循环遍历 users 集合,输出该集合中的元素。
请输入第 1 个商品的价格: 85 请输入第 2 个商品的价格: 48 请输入第 3 个商品的价格: 66 请输入第 4 个商品的价格: 80 请输入第 5 个商品的价格: 18 价格从低到高的排列为: 18 48 66 80 85
public class Test2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); List students = new ArrayList(); System.out.println("******** 商品信息 ********"); for (int i = 0; i < 5; i++) { System.out.println("请输入第 " + (i + 1) + " 个商品的名称:"); String name = input.next(); students.add(name); // 将录入的商品名称存到List集合中 } Collections.reverse(students); // 调用reverse()方法对集合元素进行反转排序 System.out.println("按录入时间的先后顺序进行降序排列为:"); for (int i = 0; i < 5; i++) { System.out.print(students.get(i) + "\t"); } } }如上述代码,首先循环录入 5 个商品的名称,并将这些名称保存到 List 集合中,然后调用 Collections 类中的 reverse() 方法对该集合元素进行反转排序。最后使用 for 循环将排序后的集合元素输出。
******** 商品信息 ******** 请输入第 1 个商品的名称: 果粒橙 请输入第 2 个商品的名称: 冰红茶 请输入第 3 个商品的名称: 矿泉水 请输入第 4 个商品的名称: 软面包 请输入第 5 个商品的名称: 巧克力 按录入时间的先后顺序进行降序排列为: 巧克力 软面包 矿泉水 冰红茶 果粒橙
public class Test3 { public static void main(String[] args) { Scanner input = new Scanner(System.in); List products = new ArrayList(); System.out.println("******** 商品信息 ********"); for (int i = 0; i < 3; i++) { System.out.println("请输入第 " + (i + 1) + " 个商品的名称:"); String name = input.next(); products.add(name); // 将用户录入的商品名称保存到List集合中 } System.out.println("重置商品信息,将所有名称都更改为'未填写'"); Collections.fill(products, "未填写"); System.out.println("重置后的商品信息为:"); for (int i = 0; i < products.size(); i++) { System.out.print(products.get(i) + "\t"); } } }如上述代码,首先循环录入 3 个商品名称,并将这些商品信息存储到 List 集合中,然后调用 Collections 类中的 fill() 方法将该集合中的所有元素值替换为“未填写”。最后使用 for 循环将替换后的集合元素输出。
******** 商品信息 ******** 请输入第 1 个商品的名称: 苏打水 请输入第 2 个商品的名称: 矿泉水 请输入第 3 个商品的名称: 冰红茶 重置商品信息,将所有名称都更改为'未填写' 重置后的商品信息为: 未填写 未填写 未填写
public class Test4 { public static void main(String[] args) { ArrayList nums = new ArrayList(); nums.add(2); nums.add(-5); nums.add(3); nums.add(0); System.out.println(nums); // 输出:[2, -5, 3, 0] System.out.println(Collections.max(nums)); // 输出最大元素,将输出 3 System.out.println(Collections.min(nums)); // 输出最小元素,将输出-5 Collections.replaceAll(nums, 0, 1);// 将 nums中的 0 使用 1 来代替 System.out.println(nums); // 输出:[2, -5, 3, 1] // 判断-5在List集合中出现的次数,返回1 System.out.println(Collections.frequency(nums, -5)); Collections.sort(nums); // 对 nums集合排序 System.out.println(nums); // 输出:[-5, 1, 2, 3] // 只有排序后的List集合才可用二分法查询,输出3 System.out.println(Collections.binarySearch(nums, 3)); } }如上述代码,向 List 集合中添加 4 个数据,然后调用 Collections 类中的 max() 和 min() 方法输出集合中的最大最小元素,replaceAll() 替换元素,frequency() 判断指定数据在 List 集合中出现的次数,最后用 binarySearch() 进行二分法查询。
[2, -5, 3, 0]
3
-5
[2, -5, 3, 1]
1
[-5, 1, 2, 3]
3
void copy(List <? super T> dest,List<? extends T> src)其中,dest 表示目标集合对象,src 表示源集合对象。
public class Test5 { public static void main(String[] args) { Scanner input = new Scanner(System.in); List srcList = new ArrayList(); List destList = new ArrayList(); destList.add("苏打水"); destList.add("木糖醇"); destList.add("方便面"); destList.add("火腿肠"); destList.add("冰红茶"); System.out.println("原有商品如下:"); for (int i = 0; i < destList.size(); i++) { System.out.println(destList.get(i)); } System.out.println("输入替换的商品名称:"); for (int i = 0; i < 3; i++) { System.out.println("第 " + (i + 1) + " 个商品:"); String name = input.next(); srcList.add(name); } // 调用copy()方法将当前商品信息复制到原有商品信息集合中 Collections.copy(destList, srcList); System.out.println("当前商品有:"); for (int i = 0; i < destList.size(); i++) { System.out.print(destList.get(i) + "\t"); } } }如上述代码,首先创建了两个 List 对象 srcList 和 destList,并向 destList 集合中添加了 5 个元素,向 srcList 集合中添加了 3 个元素,然后调用 Collections 类中 copy() 方法将 srcList 集合中的全部元素复制到 destList 集合中。由于 destList 集合中含有 5 个元素,故最后两个元素不会被覆盖。
原有商品如下: 苏打水 木糖醇 方便面 火腿肠 冰红茶 输入替换的商品名称: 第 1 个商品: 燕麦片 第 2 个商品: 八宝粥 第 3 个商品: 软面包 当前商品有: 燕麦片 八宝粥 软面包 火腿肠 冰红茶
本文链接:http://task.lmcjl.com/news/10829.html