ArrayList 字符串的过滤

假设现在有一个ArrayList1,里面存的是[1,2,3,4,5],都是字符串。
另一个ArrayList2 ,里面存的是User对象,一共存了10个User。其中每个User对象都有id和name属性,这10个对象的Id分别是:1,2,3,4.....10 ,10个不重复的id。
现在要筛选的是:如果集合1中的id能和集合2的id(user对象中的)匹配,就把集合2中User的name属性改个名字。比如原来叫张三,如果匹配到了,就把名字改为"张三(匹配)",如果不能匹配到,就还用之前的名字。
把最后匹配完的对象都放到新的集合newList中,也就是说最后的newList中数据最多就10个User对象,是不过把匹配到的对象改了个名字而已。

用下面的代码转换下就可以了:
[code="java"]List list1=new ArrayList();
List list2=new ArrayList();
List listnew=new ArrayList();
for(int i=0;i<list2.size();i++){
User u=new User;
String idString=list2.get(1).id;
u.setId(id);
if(list1.contains(idString)){
u.setName(list2.get(1).name+"(匹配)");
}else{
u.setName(list2.get(1).name);
}
listnew.add(u);
}[/code]

遍历比较就可以了

List list1
List list2
List newList

for(..list2..){
list1.contains(list1.get(..))

}

遍历list2,看list2的id是不是包括list,如果包括,改名字并添加到新的list,如果不包括就直接添加到新list.