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
二维码
