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"标签在该答案之后被添加。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何下载python安装包的所有依赖_如何将包含所有依赖项的python包安装到Docker镜像中?...

我在Ubuntu 15.10中使用Docker容器为Pyspark jupyter / pyspark-notebook工作.我需要安装具有所有依赖项的folium并在容器中运行Pyspark脚本.我成功安装了Docker,拉出了图像并使用命令运行它docker run -d -p 8888:8888 -p 4040:4040 -v /home/$MYUSER/$MYPROJECT:/home/jovyan…

java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现

使用该lastIndexOf()方法在Java中查找字符串中字符的最后一次出现。假设以下是我们的字符串。String myStr "Amit Diwan";在上面的字符串中&#xff0c;我们将找到字符i的最后一次出现myStr.lastIndexOf(i);以下是完整的示例。示例public class Demo {public static…

python面向对象编程从零开始_Python面向对象编程从零开始,从没对象到有对象

原标题&#xff1a;Python面向对象编程从零开始&#xff0c;从没对象到有对象欢迎关注天善智能 hellobi.com&#xff0c;我们是专注于商业智能BI&#xff0c;大数据&#xff0c;数据分析领域的垂直社区&#xff0c;学习、问答、求职&#xff0c;一站式搞定&#xff01;对商业智…

java 模拟路由表_Router的路由表

Router中使用routers字段表示路由表&#xff0c;这是一个数组&#xff0c;每个元组的类型是[desnination,nexthop],其中destination表示目的网段(cidr)&#xff0c;nexthop表示下一跳的IP&#xff0c;举例如下&#xff1a;“routes”:[ { “destination”:”10.50.10.0/24” “…

python 知乎 合并 pdf_一键下载:将知乎专栏导出成电子书

原标题&#xff1a;一键下载&#xff1a;将知乎专栏导出成电子书老是有同学问&#xff0c;学了 Python 基础后不知道可以做点什么来提高。今天就再用个小例子&#xff0c;给大家讲讲&#xff0c;通过 Python和爬虫&#xff0c;可以完成怎样的小工具。在知乎上&#xff0c;你一定…

php语句过滤掉html标签_php过滤html标签

标签&#xff1a;php自带函数strip_tagsecho strip_tags("hello world! ");自定义函数&#xff1a;function filterhtml($str) {$streregi_replace("*[^<>]*>", , $str);$strstr_replace(" ", , $str);$strstr_replace("n", …

无符号有符号乘法_刘帅嵌入式系统-乘法指令

ARM有两类乘法指令&#xff1a;一类为32位的乘法指令&#xff0c;即乘法操作的结果为32位&#xff1b;另一类为64位的乘法指令&#xff0c;即乘法操作的结果为64位。两类指令共有以下6条。MUL&#xff1a;32位乘法指令MLA&#xff1a;32位带加数的乘法指令SMULL&#xff1a;64位…

php导出csv_原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】

本文实例讲述了原生PHP实现导出csv格式Excel文件的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;效果图源码分析index.phprequire_once "./Export.php";//测试数据$headerList [列名1,列名2,列名3];$data [[值1,值2,值3],[值11,值22,值33],[值111,值…

python 颜色_如何使用python中matplotlib库分析图像颜色

用代码分析图像可能很困难。你如何使代码“理解”图像的上下文?通常&#xff0c;使用AI分析图像的第一步 是找到主要颜色。在如何使用python中matplotlib库分析图像颜色中&#xff0c;我们将使用matplotlib的 image类在图像中找到主色 。查找主导色也是你可以使用第三方API进行…

python自动登录校园网_免费自动登录国科大校园网python脚本

UCAS-Network-LoginA python program that helps you log in UCAS network for free. 免费自动登录国科大校园网声明&#xff1a;本软件不会收集你的任何信息&#xff0c;即使保存密码也都是保存在本地。软件编写思想是模拟浏览器填充用户名和加密后的密码&#xff0c;发送认证…

php的时间函数,PHP 常用时间函数

PHP语言中的函数有许多种&#xff0c;各种应用方式不同&#xff0c;实现的功能也不尽相同。我们在本文种为大家总结了PHP时间戳函数&#xff0c;希望能作为参考学习对象。一&#xff0c;PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下&#xff1a;e…

python画彩虹爱心_用python画一颗彩虹色爱心送给女朋友!!!

1.准备工作&#xff1a;代码中用到numpy和matplotlib&#xff0c;需要先安装这两个库pip3 install numpypip3 install matplotlib会用到的数学公式&#xff1a;(x^2y^2-1)^3x^2*y^302.编写代码&#xff1a;importnumpy asnpimportmatplotlib.pyplot aspltx_coords np.linspace…

智能解析php源码,PHP源码:XyPlayer在线影视v3.8二次智能解析源码

版本更新&#xff1a;注意&#xff1a; 升级完成后请务必清空缓存,包括浏览器缓存和视频缓存;2019.3.24更新* 修复v.php调用失败的bug;* 优化播放调用&#xff0c;修复若干bug;* 异常处理优化&#xff0c;使用fundebug插件收集异常信息;* 播放器优化,发生异常会调用H5播放器解决…

cnn 准确率无法提升_清华类脑芯片再登Nature: 全球首款基于忆阻器的CNN存算一体芯片...

传统计算架构中计算与存储在不同电路单元中完成&#xff0c;造成大量数据搬运功耗增加和额外延迟&#xff0c;被认为是冯诺依曼计算架构的核心瓶颈。人类的大脑却并非如此&#xff0c;而是直接在记忆体里计算。被认为具有「存算一体」潜力的忆阻器&#xff0c;因而成为类脑计算…

php artisan 计划任务,Laravel 定时任务 任务调度 可手动执行

1、创建一个命令php artisan make:command TestCommand执行成功后会提示&#xff1a;Console command created successfully.生成了一个新的命令文件App\Console\Commands\TestCommand.phpuse Illuminate\Console\Command;classTestCommand extends Command{/*** The name and …

python中定义变量为啥要用下划线_关于python中带下划线的变量和函数 的意义

核心风格&#xff1a;避免用下划线作为变量名的开始。因为下划线对解释器有特殊的意义&#xff0c;而且是内建标识符所使用的符号&#xff0c;我们建议程序员避免用下划线作为变量名的开始。一般来讲&#xff0c;变量名_xxx被看作是“私有 的”&#xff0c;在模块或类外不可以使…

php加密码访问,怎么给一个PHP密码访问页面加超链接

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼$password "1234"; // 这里是密码$p "";if(isset($_COOKIE["isview"]) and $_COOKIE["isview"] $password){$isview true;}else{if(isset($_POST["pwd"])){if($_POST["…

pythonsearch结果_python 查询Elasticsearch的小例子

#!/usr/bin/env python# -*- coding: utf-8 -*-from sfo_common.agent import Agentfrom sfo_common.import_common import *class ElkLog(object):"""处理ELK数据类"""def __init__(self):passdef get_elk_log_json(self):"""通…

matlab程序svm四等级分类,支持向量机(SVM)多分类matlab程序代码

%模型训练及数据整理model_12svmtrain(class_12_label,class_12_value);model_13svmtrain(class_13_label,class_13_value);model_14svmtrain(class_14_label,class_14_value);model_23svmtrain(class_23_label,class_23_value);model_24svmtrain(class_24_label,class_24_valu…

python requests form data_python使用requests发送multipart/form-data请求数据

def client_post_mutipart_formdata_requests(request_url,requestdict):#功能说明&#xff1a;发送以多部分表单数据格式(它要求post的消息体分多个部分(fields)发送&#xff0c;每个fields之间用自定义的且唯一的随机字符串boundary进行分割。)请求到远程服务器&#xff0c;并…