[英]java replace list with sublist
我有一个清单
ArrayList list = new ArrayList(Arrays.asList(1,2,3,4,5,3,4,2,4,5,3,10));
我还有另一个子列表
ArrayList sublist = new ArrayList(Arrays.asList(4,5,3));
我一直在寻找替换列表中子列表的功能
与另一个子列表
ArrayList sublist = new ArrayList(Arrays.asList(100,100)));
因此,在查找并替换之后,新列表应变为:
list = (1,2,3,100,100,4,2,100,100,10);
我在Java中找不到针对此API的任何API。
不知道是否存在执行此操作的任何api,但是您可以做的是利用Java中的List接口。
如果合并使用containsAll(Collection c)如果此列表包含指定集合的所有元素,则返回true。
removeAll(Collection c)从此列表移除指定集合中包含的所有元素(可选操作)。
和
addAll(int index,Collection c)将指定集合中的所有元素插入此列表中的指定位置(可选操作)。
我认为您可以轻松完成所需的工作。
在这里看看: http : //download.oracle.com/javase/6/docs/api/java/util/List.html
如果创建子列表作为一个真正的子列表list
,如使用List#subList()
然后(非结构性),以便所做的更改sublist
将反映在list
。
List<Integer> list = Lists.newArrayList(1, 2, 3, 4, 5, 3, 4, 2, 4, 5, 3, 10);
List<Integer> sublist = list.subList(3, 6);
for (int i=0; i<sublist.size(); i++)
{
sublist.set(i, 100);
}
System.out.println(sublist);
// prints 100, 100, 100
System.out.println(list);
// prints 1, 2, 3, 100, 100, 100, 4, 2, 4, 5, 3, 10
演示: http : //ideone.com/ljvd0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.