java - 如何检查ArrayList中的项目不包含某个词?
问题描述
我想使用这样的 for 循环:
`button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Object.setList();
for(int i = 0; i < Object.getList.size(); i++)
if(!Object.getList.get(i).trim().toLowerCase().contains("hello")) {
Toast.makeText(getContext(), "List does not contain "Hello", Toast.LENGTH_LONG).show;
}
}`
这是我的模型:
public class Object {
private ArrayList<String> mArrayList;
public void setList() {
mArrayList = new Arraylist<>();
mArrayList.add("Random Message");
mArrayList.add("ZZZZ")
}
public ArrayList<String> getList() {
return mArrayList;
}
}
我仍然不断收到 Toast 消息,但是当我使用它时它工作得很好:
if(!Object.getList().toString.trim().toLowerCase().contains("hello"))
解决方案
我不太确定这个表达式如何:
Object.getList().toString.trim().toLowerCase().contains("hello")
作品。考虑两个相邻的元素:“he”和“llo”。即使在这种情况下,您的解决方案也会声明字符串“hello”存在于ArrayList
. 由于存在 ho 散列ArrayList
,唯一的解决方案是通过蛮力(给出 的性能O(n)
)。这是解决方案:
for(String element: list) {
if (str.equalsIgnoreCase(element)) {
// Found
}
}
推荐阅读
- python - 如何更改此代码以将整数转换为九位二进制字符串?
- excel - 我们如何使用 vba excel 网页抓取在网页上输入日期(日期选择器)
- excel - 如何获得形状中的图片?
- list - 如何在 Haskell 中保持比率的非简化形式
- json - PowerShell 检索 MS Graph 3 级数据返回非 json 结果
- r - initial_probs 的长度不等于状态数
- sql-server - 当 JPA 事务通过网络失败时,sql server 会做什么?
- javascript - 循环通过标签并通过 .click 更改 url
- java - Jsoup 检查标签是否存在
- android - Plugin.Geolocator 不可用