java 按用户输入的字符串值对字符串列表进行排序

我正在寻找一种在java中根据用户输入对字符串列表进行排序的方法。例如,我的列表包含["Pat Henderson", "Zach Harrington", "Pat Douglas", "Karen Walsh"],如果用户输入名字,"Pat"我如何才能仅打印出列表中的帕特以及姓氏?



阿波罗的战车
浏览 116回答 3
3回答

当年话下

ArrayList<String> str = new ArrayList<String>();for(int i = 0 ; i < str.size() ; i++) {&nbsp; &nbsp; if(str.get(i).contains("your_user_input")) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(str.get(i));&nbsp; &nbsp; }}

呼啦一阵风

.filter()Java 8 中引入了这个东西。List<String> names = new ArrayList<>();names.addAll(Arrays.asList("Pat Henderson", "Zach Harrington", "Pat Douglas", "Karen Walsh"));String startsWith = "Pat";List<String> filteredNames = names.stream()&nbsp; &nbsp; &nbsp; &nbsp; .filter(name -> name.startsWith(startsWith))&nbsp; &nbsp; &nbsp; &nbsp; .collect(Collectors.toList());一点评论。排序是指重新排列元素的位置而不删除任何元素。

慕神8447489

假设列表中的每个元素都有一个由空格或更多空格分隔的名称和姓氏,使用 Java 8,您可以通过以下方式过滤名称或姓氏:List<String> list = Arrays.asList("Pat Henderson", "Zach Harrington", "Pat Douglas", "Karen Walsh");String nameOrLastNameToFilter = ...;list.stream().filter(s -> Arrays.stream(s.split("\\s+"))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .anyMatch(n->n.equals(nameOrLastNameToFilter))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; .collect(toList());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java