java lambda表达式 字符串排序
时间: 2023-11-18 09:56:08 浏览: 35
Java Lambda表达式是Java 8中引入的一种新特性,它可以使代码更加简洁、易读、易维护。在字符串排序中,我们可以使用Lambda表达式来实现根据字符串长度进行排序。具体实现可以参考以下代码:
```
String[] strings = new String[]{"123","avbs","asdasd","74365222222"};
Arrays.sort(strings, (o1, o2) -> o1.length() - o2.length());
System.out.println(Arrays.toString(strings));
```
上述代码中,我们使用Arrays类的sort方法对字符串数组进行排序,Lambda表达式`(o1, o2) -> o1.length() - o2.length()`表示根据字符串长度进行排序。其中,`o1`和`o2`分别表示要比较的两个字符串,`o1.length() - o2.length()`表示按照字符串长度从小到大排序。
如果要按照字符串长度从大到小排序,只需要将Lambda表达式改为`(o1, o2) -> o2.length() - o1.length()`即可。
在sortByLength方法中,我们可以将上述代码放入其中,将结果进行输出即可。
相关问题
java lambda表达式sort排序
好的,我可以回答这个问题。Java 8 中的lambda表达式可以用于对集合进行排序,使用Collections.sort()或者Arrays.sort()方法即可。例如:
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Collections.sort(list, (s1, s2) -> s1.compareTo(s2));
System.out.println(list);
输出结果为:[apple, banana, orange]
这里使用lambda表达式对字符串进行了字母顺序排序。希望这个答案能够帮助到你。
Java 8 lambda表达式
Java 8 引入了 lambda 表达式,使得代码编写更加简洁和易读。
lambda 表达式是一个匿名函数,它没有名称,但有参数列表、函数体和可能的返回类型。它的语法如下:
```
(parameters) -> expression
```
或者
```
(parameters) -> { statements; }
```
其中,parameters 是一个逗号分隔的参数列表,expression 是一个只包含一个表达式的语句,statements 是一个包含多个语句的代码块。
举个例子,假设有一个 List,我们可以使用 lambda 表达式对其进行排序:
```
List<String> names = Arrays.asList("Amy", "Bob", "Charlie", "David");
Collections.sort(names, (String a, String b) -> a.compareTo(b));
```
这里,我们使用了 lambda 表达式来定义一个比较器,它会按照字符串的自然顺序进行排序。
lambda 表达式还可以与函数式接口一起使用,函数式接口是只有一个抽象方法的接口。举个例子,假设有一个函数式接口:
```
interface MyInterface {
void doSomething(int a, int b);
}
```
我们可以使用 lambda 表达式来实现该接口:
```
MyInterface myInterface = (a, b) -> System.out.println("The sum is " + (a + b));
myInterface.doSomething(5, 7); // 输出 "The sum is 12"
```
这里,我们使用了 lambda 表达式来实现 MyInterface 接口的 doSomething 方法,输出了两个整数的和。
总的来说,lambda 表达式是 Java 8 中一个非常有用的特性,它可以帮助我们更加简洁地编写代码,并且与函数式接口结合使用,可以实现更加灵活的编程。