黑马程序员技术交流社区
标题:
关于Collections中的疑惑???求大虾解答……
[打印本页]
作者:
彭波
时间:
2013-3-16 10:32
标题:
关于Collections中的疑惑???求大虾解答……
本帖最后由 黄玉昆 于 2013-3-16 23:22 编辑
/*
下面的程序是用fill方法可以将list集合中所有元素替换成指定元素。
*/
import java.util.*;
class CollectionsDemo2
{
public static void main(String[] args)
{
fillDemo();
}
public static void fillDemo()
{
List<String> list = new ArrayList<String>();
list.add("abcd");
list.add("aaa");
list.add("zz");
list.add("kkkkkk");
sop(list);//输出list
Collections.fill(list, "pp");//fill方法可以将list集合中
所有元素
替换成指定元素。
sop(list);//输出替换后的list
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
问题:
试将list集合中
部分元素
替换成指定元素???
作者:
renhao0118
时间:
2013-3-16 10:53
那要看你要替换哪些元素了,比如你要替换list中的第3个元素就是:list[2]="pp",不知道你说的部分元素指什么,如果需要的话,你可以设定一个规则,如果list中的元素不符合这个规则就把他们替换成你想要的string字符串。
作者:
彭波
时间:
2013-3-16 11:19
renhao0118 发表于 2013-3-16 10:53
那要看你要替换哪些元素了,比如你要替换list中的第3个元素就是:list[2]="pp",不知道你说的部分元素指什 ...
不对,list<String> 已经被泛型限定为String类型了,不是数组类型的,你把这个语句添加上去会报错的
作者:
孙晋学
时间:
2013-3-16 11:47
没在API中找到替换部分元素的方法,不过你可以遍历时指定条件,替换元素,也就是 修改
List<String> list = new ArrayList<String>();
list.add("abcd");
list.add("aaa");
ListIterator<String> li = list.listIterator<String>();
while(li.hasNext()){
if(li.next().equals(" XXX"))//指定某个条件
li.set("XX"); //按要求修改元素
}
复制代码
作者:
TK13761
时间:
2013-3-16 12:24
局部替换可以自己编个方法 下面代码亲测可运行
import java.util.*;
class CollectionsDemo2
{
public static void main(String[] args)
{
fillDemo();
}
public static void fillDemo()
{
List<String> list = new ArrayList<String>();
list.add("abcd");
list.add("aaa");
list.add("zz");
list.add("kkkkkk");
sop(list);//输出list
Collections.fill(list, "pp");//fill方法可以将list集合中所有元素替换成指定元素。
sop(list);
getList(list,0,3,"tt"); //______-----------> 注意此处亲,调用局部置换算法 替换前几个值为 tt
sop(list);//输出替换后的list
}
public static void sop(Object obj)
{
System.out.println(obj);
}
public static List<String> getList(List<String> list,int start,int ends,String str)
{
if(ends>list.size()||ends-start<0) //越界非法
throw new RuntimeException("非法的数值!");
for(int i=start;i<ends;i++)
{
list.set(i, str); //替换
}
return list;
}
}
复制代码
希望对你有帮助
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2