java arraylist 过滤_关于java:ArrayList过滤器
本问题已经有最佳答案,请猛点这里访问。
如何从Java ARAYLIST中筛选出一些东西,如:
你好吗?
你怎么做
乔
迈克
过滤器是"怎样"的,它可以去除乔和迈克。
这可能有助于stackoverflow.com/questions/122105/…
最好的解决方案是使用其他的收集数据结构,而不是arraylist:code.google.com/p/google-collections
在Java-8中,他们引入了以Predicate为参数的方法removeIf。
所以很容易做到:
List list = new ArrayList<>(Arrays.asList("How are you",
"How you doing",
"Joe",
"Mike"));
list.removeIf(s -> !s.contains("How"));
调用需要API级别24
也许最好的方法是用番石榴
List list = new ArrayList();
list.add("How are you");
list.add("How you doing");
list.add("Joe");
list.add("Mike");
Collection filtered = Collections2.filter(list,
Predicates.containsPattern("How"));
print(filtered);
印刷品
How are you
How you doing
如果要将筛选后的集合作为列表,可以使用此项(也可以从guava获取):
List filteredList = Lists.newArrayList(Collections2.filter(
list, Predicates.containsPattern("How")));
集体2中的2是什么?
DavoudTaghawi Nejad,这可能是因为在标准Java中已经有EDCOX1 1类。所以很明显哪个类是哪个类,如果它们在一个类中使用,那么您不必使用完全限定名来区分它们。
在android中,它不能解决谓词作为谓词时的给出错误。
知道了。。我使用了错误的库..现在我用的是guava-16.0.1.jar
如何过滤不是"如何"的字符串?
@泰美得使用not():filter(list, not(Predicates.containsPattern("How"))。
遍历列表并检查是否包含字符串"how",如果包含字符串,则将其删除。您可以使用以下代码:
// need to construct a new ArrayList otherwise remove operation will not be supported
List list = new ArrayList(Arrays.asList(new String[]
{"How are you?","How you doing?","Joe","Mike"}));
System.out.println("List Before:" + list);
for (Iterator it=list.iterator(); it.hasNext();) {
if (!it.next().contains("How"))
it.remove(); // NOTE: Iterator's remove method, not ArrayList's, is used.
}
System.out.println("List After:" + list);
输出:
List Before: [How are you?, How you doing?, Joe, Mike]
List After: [How are you?, How you doing?]
下一步()在第一次调用它时返回什么?
第一次调用it.next()将返回集合(list)中的第一个项。
我喜欢这个,因为它是最简单的,不涉及第三方图书馆。
给自己写一个过滤函数
public List filter(Predicate criteria, List list) {
return list.stream().filter(criteria).collect(Collectors.toList());
}
然后使用
list = new Test().filter(x -> x > 2, list);
这是Java中最简洁的版本,但是需要JDK 1.8来支持lambda演算。
我同意先前的答案,谷歌的番石榴可能在这里帮助很大,可读性方面:
final Iterables.removeIf(list, new Predicate() {
@Override
public boolean apply(String input) {
if(input.contains("How")) { //or more complex pattern matching
return true;
}
return false;
}
});
请注意,这基本上是一个guava的副本——如何根据谓词从列表中删除,以跟踪删除的内容?
由于您没有给我们太多信息,我假设您编写代码的语言是C。首先:首选System.Collections.Generic.List而不是ArrayList。第二:一种方法是循环遍历列表中的每一项,并检查它是否包含"how"。另一种方法是使用LINQ。下面是一个快速的例子,它过滤掉了所有不包含"如何"的项目:
var list = new List();
list.AddRange(new string[] {
"How are you?",
"How you doing?",
"Joe",
"Mike", });
foreach (string str in list.Where(s => s.Contains("How")))
{
Console.WriteLine(str);
}
Console.ReadLine();
"因为你没有给我们很多信息",但有你的信息,帖子被标记为Java。
@新建大检查编辑历史记录…StAccOfFult.COM/PASS/9146224/修订"Java"标签在该答案之后被添加。
java arraylist 过滤_关于java:ArrayList过滤器相关推荐
- java脏字过滤_脏字过滤
1.[文件] SensitiveWordFilter.java ~ 7KB 下载(141) package com.forgov.sharpc.infrastruture.util; import s ...
- java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)
import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...
- java核心教程_核心Java教程
java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...
- java 包命名_【Java】包的命名规则
命名规范 包:所有单词的字母小写,之后每个单词用-隔开,如 org.nemo.demo 常量:所有单词的字母大写,之后每个单词用_隔开,如 FLAG 类:所有单词的首字母大写,如 TestJava p ...
- java 图片效果_使用Java进行图片底片化效果处理
使用java代码读取图片,并进行底片化处理 util importjava.awt.image.BufferedImage;importjava.io.File;importjava.util.Arr ...
- java 分割一个_分割java
[java]分割字符串工具类,霸气 jdk自带的 java 分割字符串,分割string,可以根据多个条件去分割.比如逗号,分号,逗号或者分号. 比如一个字符串:"abc,def;gh,ij ...
- java字符存储_用java的类集框架做一个字符存储器(15)
11.这是java的关于java的类集框架做一个字符存储器的源代码可以直接进行编译运行,希望大家能够从中获益良多. package niming; //导入ArrayList这个类 import ja ...
- java 数据结构实例_数据结构(Java)——栈的实例
惟大英雄能本色,是真名士自风流 --易中天(百家讲坛) 1.表达式的转换 1.1 中缀表达式转前缀表达式 中缀表达式转前缀表达式有许多的方式,有加括号去除法.语法树遍历法.堆栈处理法1. 测试程序的实 ...
- java 进程运行时间_将Java类作为子进程运行
java 进程运行时间 我本周需要将Java类(而不是jar)作为子进程运行. 更确切地说,我想从测试内部产生一个新进程,而不是直接在测试内部(进程内)运行它. 我不认为这是幻想或复杂的事情. 但是, ...
最新文章
- Kinect学习(四):提取深度数据
- PHP框架 one 1.6.0 发布
- 【C++深度剖析教程30】C++中抽象类和接口
- ant design Modal关闭时清除数据的解决方案
- mac下自带apache
- unity3d生命周期
- 数学趣题——渔夫抓鱼问题
- 2014年最新前端开发面试题(题目列表+答案 完整版)
- JSP 内置对象request常见用法
- (PASS)java中打印当月的日历的每一天
- 贪吃蛇c语言代码 链表,链表贪吃蛇 附代码
- 《神经网络与深度学习从理论到实践-邱锡鹏》笔记(持续更行ing)
- 【python】实战:“唱啥”app后台开发
- pandas面板(Panel)
- QWebEngineView崩溃及替代方案
- 使用 vue-waterfall2插件 vue 瀑布流
- web前端CSS---关于text-align设置为justify的相关内容
- C++程序避免触发 Win7下的程序兼容助手
- Linux下玩转Dota2
- python3判断变量存在_Python3基础 list in/not in 判断一个变量是否在列表中存在