Java collections classes: sort() ascending sort, reverse() descending sort, copy() copy, fill()
•
Java
Forward sort
Example 1
public class Test10 { 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"); } } }
请输入第 1 个商品的价格: 85 请输入第 2 个商品的价格: 48 请输入第 3 个商品的价格: 66 请输入第 4 个商品的价格: 80 请输入第 5 个商品的价格: 18 价格从低到高的排列为: 18 48 66 80 85
Reverse sort
void reverse(List list) // 对集合中的元素进行反转排序
Example 2
public class Test11 { 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"); } } }
******** 商品信息 ******** 请输入第 1 个商品的名称: 果粒橙 请输入第 2 个商品的名称: 冰红茶 请输入第 3 个商品的名称: 矿泉水 请输入第 4 个商品的名称: 软面包 请输入第 5 个商品的名称: 巧克力 按录入时间的先后顺序进行降序排列为: 巧克力 软面包 矿泉水 冰红茶 果粒橙
copy
void copy(List <? super T> dest,List<? extends T> src)
Example 3
public class Test12 { 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"); } } }
原有商品如下: 苏打水 木糖醇 方便面 火腿肠 冰红茶 输入替换的商品名称: 第 1 个商品: 燕麦片 第 2 个商品: 八宝粥 第 3 个商品: 软面包 当前商品有: 燕麦片 八宝粥 软面包 火腿肠 冰红茶
fill
void fill(List<? super T> list,T obj) // 使用指定元素替换指定列表中的所有元素
Example 4
public class Test13 { 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"); } } }
******** 商品信息 ******** 请输入第 1 个商品的名称: 苏打水 请输入第 2 个商品的名称: 矿泉水 请输入第 3 个商品的名称: 冰红茶 重置商品信息,将所有名称都更改为'未填写' 重置后的商品信息为: 未填写 未填写 未填写
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码