我有两个数组列表,第二个是第一个的子集。我想知道在子集的元素的第一个数组列表中的初始和结束位置(在我的示例中,在arraylist中的位置为: uno,tre,tre)
如何修改此代码?
import java.util.ArrayList;
public class ConfrontaArrayList {
public static void main(String[] args)
{
ArrayList<String> arrayList = new ArrayList<String>();
ArrayList<String> subSetArrayList = new ArrayList<String>();
arrayList.add("inizio");
arrayList.add("stringa");
arrayList.add("uno");
arrayList.add("due");
arrayList.add("tre");
arrayList.add("fine");
arrayList.add("stringa");
subSetArrayList.add("uno");
subSetArrayList.add("due");
subSetArrayList.add("tre");
System.out.print("Elementi di arrayList: ");
for (String stringa : arrayList) System.out.print(stringa + " ");
System.out.print("\nElementi di subSetArrayList: ");
for (String stringa : subSetArrayList) System.out.print(stringa + " ");
}
} 发布于 2012-03-07 20:18:58
java.util.Collections.indexOfSubList()方法将返回子列表的索引:
int startIdx = Collections.indexOfSubList(arrayList, subSetArrayList);
if (-1 != startIdx)
{
int endIdx = startIdx + subSetArrayList.size() - 1;
}发布于 2012-03-07 20:25:14
如果你不能解决整个问题,就把它分解成更小的步骤,这样你就可以做到:
<
发布于 2012-03-07 20:17:32
当然,最简单的答案是遍历数组列表并执行String.equals()来查找索引。
https://stackoverflow.com/questions/9601291
复制相似问题