搜索arraylist的一部分 - java

时间:2011-02-07 02:58:27

标签: java list search arraylist

可以在arrayList中的位置5到10之间进行搜索吗?

如何?

在这种情况下,我需要在1-5,5-10之间进行搜索,...我想避免另一个列表

编辑:我有类似的东西

if (pp.move(i).subList(5, 10).contains(pn50.getText())) {

但我对此代码有疑问,我需要调用类似的方法:

if (pp.move(i).suit().subList(5, 10).contains(pn50.getText())) {

但是我收到一个错误:对于String类型,方法subList(int,int)是未定义的 谢谢!

4 个答案:

答案 0 :(得分:5)

您可以获得所需内容的子列表(这不是一项昂贵的操作),然后搜索整个列表。像这样:

if (myList.subList(0, 5).contains(objectToFind)) {
   System.out.println("Found object between indexes 0 and 5");
}

更新:首先将你的西装串转换为一个列表,如果字符串是逗号分隔的,那么你可以这样做:

String[] suitArray = pp.move(i).suit().split(",");
List myList = List list = Arrays.asList(suitArray);

然后使用上面的第一段代码进行检查。现在,如果你只是在String中搜索某些内容,你可以通过不首先转换为List来更有效地完成它,但这将是一个全新的问题。

答案 1 :(得分:2)

答案 2 :(得分:0)

如果你抓住一个子列表可以吗?

ArrayList.subList(fromIndex, toIndex);

通过这种方式,您拥有项目的子集,操纵它们并且仍然没有“新”列表(修改子列表将修改原始列表)

答案 3 :(得分:0)

  

但是我得到一个错误:方法subList(int,int)未定义类型String谢谢!!

这必须是因为您的suit()方法被声明为返回String