如何 return 在 java 中具有特定字符的数组列表
How to return array list which has specific char in java
我想 return 一个数组列表中的名称列表,它没有 char 'a' 作为最后一个字母,我试图为它创建一个循环并找到最后一个字母来自每个名字。
List<String> names = new ArrayList<>();
names.addAll(Arrays.asList("Tomek", "Ania", "Krzys", "Tomek"));
String last = names.get(names.size());
int lastLetter = last.length() - 1;
for (String word : names) {
if (lastLetter != 'a' ) {
System.out.println(names);
}
}
}
输出
["Tomek", "Krzys","Tomek"]
List<String> toReturn = new ArrayList<>();
for (String word : names) {
char lastLetter = word.toLowerCase().charAt(word.length() - 1);
if (lastLetter != 'a') {
toReturn.add(word);
}
}
return toReturn;
如果您使用的是 Java 8 或更高版本,您可以使用流来过滤名称,如下所示。
List<String> names = Arrays.asList("Tomek", "Ania", "Krzys", "Tomek");
List<String> updated = names.stream()
.filter(s -> s.charAt(s.length() - 1) != 'a')
.collect(Collectors.toList());
updated.forEach(System.out::println);
在上面的代码中 names.stream()
将数组转换为流,filter()
将根据谓词过滤流,字符串的最后一个字符不是 'a'
然后 collect
将使用过滤后的列表创建一个新列表。
我想 return 一个数组列表中的名称列表,它没有 char 'a' 作为最后一个字母,我试图为它创建一个循环并找到最后一个字母来自每个名字。
List<String> names = new ArrayList<>();
names.addAll(Arrays.asList("Tomek", "Ania", "Krzys", "Tomek"));
String last = names.get(names.size());
int lastLetter = last.length() - 1;
for (String word : names) {
if (lastLetter != 'a' ) {
System.out.println(names);
}
}
}
输出
["Tomek", "Krzys","Tomek"]
List<String> toReturn = new ArrayList<>();
for (String word : names) {
char lastLetter = word.toLowerCase().charAt(word.length() - 1);
if (lastLetter != 'a') {
toReturn.add(word);
}
}
return toReturn;
如果您使用的是 Java 8 或更高版本,您可以使用流来过滤名称,如下所示。
List<String> names = Arrays.asList("Tomek", "Ania", "Krzys", "Tomek");
List<String> updated = names.stream()
.filter(s -> s.charAt(s.length() - 1) != 'a')
.collect(Collectors.toList());
updated.forEach(System.out::println);
在上面的代码中 names.stream()
将数组转换为流,filter()
将根据谓词过滤流,字符串的最后一个字符不是 'a'
然后 collect
将使用过滤后的列表创建一个新列表。