A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 惠晖 中级黑马   /  2012-12-12 22:00  /  2349 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 惠晖 于 2012-12-12 23:05 编辑

用Collections.fill方法

点评

是可以的 ,需要使用到List集合中获取子集合的方法subList(int fromIndex, int toIndex) 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间...  发表于 2012-12-13 13:56

8 个回复

倒序浏览
  1. import java.util.*;



  2. public class No_repeat3
  3. {
  4. public static void main(String[] args)throws NoSuchElementException
  5. {
  6. List<String> al = new ArrayList<String>();
  7. for (int i = 1; i <= 5; i++)
  8. {
  9. al.add(""+i);
  10. }
  11. al.set(2,"45");//脚表2位置换成字符串“45”
  12. a.set(4,"23");//脚表4位置换成字符串“23”




  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
import java.util.*;
class List1
{
        public static void main(String[] args)
        {
                List<String> al= new ArrayList<String>();
                al.add("Java01");
                al.add("Java02");
                al.add("Java03");
                Iterator<String> it=al.iterator();
                while(it.hasNext())
                {
                        System.out.println("原始数据"+it.next());
                }
                al.set(2, "Java05");
                Iterator<String> it1=al.iterator();
                while(it1.hasNext())
                {
                        System.out.println("替换后"+it1.next());
                }
        }

}

set
public E set(int index, E element)用指定的元素替代此列表中指定位置上的元素。

参数:index - 要替代的元素的索引,element - 存储在指定位置上的元素
返回:以前位于该指定位置上的元素

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
Collections中
返回值为static <T> void
方法为fill(List<? super T> list, T obj)
          使用指定元素替换指定列表中的所有元素。
你可以看到,要换就全换了,单一指定位置换不了
回复 使用道具 举报
肯定是能换的  毕向东留的练习

点评

这个是可以的 。 看下面 ,  发表于 2012-12-13 13:53
回复 使用道具 举报
  1. package myFill;

  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.List;

  5. public class FillDemo {
  6.         public static void main(String[] args) {
  7.                 List<String> list = new ArrayList<String>();
  8.                 list.add("java00");
  9.                 list.add("java01");
  10.                 list.add("java02");
  11.                 list.add("java03");
  12.                 list.add("java04");
  13.                 list.add("java05");
  14.                 list.add("java06");
  15.                 /*
  16.                  * 将List集合中的部分元素替换为指定元素 ,
  17.                  * 要求使用Collections中的fill(List<? super T> list, T obj) ---> 使用指定元素替换指定列表中的所有元素。
  18.                  * 思路:
  19.                  * 因为fill是替换掉指定列表中的所有元素,
  20.                  * 所以只能用该列表的子列表来实现部分元素的替换 。
  21.                  * 根据楼主要求 ,需要使用List中的subList方法 ,
  22.                  * 继而对新列表中的所有元素进行全部fill ,
  23.                  */
  24.                 System.out.println("替换前;"+list);
  25.                 List<String> newList = list.subList(1, 4);
  26.                 Collections.fill(newList, "heima");   
  27.                 System.out.println("替换后:"+list);
  28.                
  29.         }
  30.        

  31. }
复制代码

点评

楼主23:05才改的内容,我回贴时他可没说用什么方法实现  发表于 2012-12-13 14:45
回复 使用道具 举报
惠晖 发表于 2012-12-13 11:40
肯定是能换的  毕向东留的练习

那你可以说得准确点,直接用肯定不行,要实现按“地板”那楼的方法来
回复 使用道具 举报
吴愿涛 发表于 2012-12-13 13:52

我说版主,技术分我已经够了,扣不扣无所谓。
同时我要说的是,你仔细看楼主贴子,他是23:05那会儿改的内容,我回贴的时候他可没说用什么方法实现。

接下来怎么处理版主随意

点评

嗯, 看到了 ,以后会注意的 ,谢谢了 。  发表于 2012-12-13 14:53

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 补偿分 ,

查看全部评分

回复 使用道具 举报
xjandrew 发表于 2012-12-13 14:41
我说版主,技术分我已经够了,扣不扣无所谓。
同时我要说的是,你仔细看楼主贴子,他是23:05那会儿改的 ...

{:soso__7474451706302636966_3:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马