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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© coolmiao13 中级黑马   /  2015-2-23 21:27  /  958 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看到视频中的Collections中fill练习,没有找到答案,自己写了一个。给大家分享一下
有什么问题希望指正。
代码:
  1.     package ch01;
  2.     import java.util.ArrayList;
  3.     import java.util.Collections;
  4.     import java.util.List;
  5.     /*需求:Collections中的fill方法会将list集合中的元素替换成想要替换的元素,
  6.      * 但是有局限性,就是会全部替换。
  7.      * 需求来了:定义一个函数将list中指定位置的元素使用fill进行替换
  8.      *
  9.      * */
  10.     public class fillDemo {
  11.         public static void main (String[]args){
  12.             //创建一个测试用list
  13.             List<String> li = new ArrayList<String>();
  14.             li.add("aaaa");
  15.             li.add("bbbb");
  16.             li.add("ccc");
  17.             li.add("ddd");
  18.             li.add("eeee");
  19.             //打印这个list
  20.             System.out.println(li);
  21.             //调用创建的静态函数
  22.             myFill(li,1,4);
  23.             //打印替换完的list
  24.             System.out.println(li);
  25.         }
  26.         public static List<String> myFill (List<String> li,int start,int end){
  27.             //使用list里的sublist
  28.             //返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,
  29.             //反之亦然。返回的列表支持此列表支持的所有可选列表操作
  30.             List<String> subli = li.subList(start, end);
  31.             //将sublist中得元素使用fill进行替换
  32.             Collections.fill(subli,"zzzz");
  33.             //由于sublist的特性,sub集合中的元素会反映到原来的集合
  34.             return li;
  35.         }
  36.     }
复制代码
总结:其实就是用了list中的sublist这个方法的一个特性,使用fill进行替换,最后返回原来的list。
以上。


评分

参与人数 1黑马币 +2 收起 理由
万合天宜 + 2 加油

查看全部评分

1 个回复

倒序浏览
哎呦~木有人看。。自己顶自己一个。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马