ListSubListDemo List获取子集的方法

/**
    List获取子集的方法
    List<E> subList(int fromIndex,  int toIndex)
    需要注意的是:对子List的操作,会影响原List.即subList获取的List和原List占有相同的空间.
    对子List的修改就是对List的修改.
    可以用作范围的操作,比如范围清除:  list.subList(formIndex,toIndex).clear();

案例  使用List接口提供的subList方法获取子List,详细要求如下:
1) 创建List接口的引用list,使该引用指向ArrayList的实例;将0~9十个数字作为十个元素放入到集合list中,并输出集合list。
2) 获取list集合的子集合subList,subList子集合的元素为[3, 4, 5, 6, 7]并输出子集合subList。
3) 将subList集合中的每一个元素扩大10倍,输出list集合和subList集合,验证subList获得的List集合和源List集合占用相同的数据空间。
4) 清除list集合中索引位置为3~7(包含3和7)的元素,并输出list。
 */
public class ListSubListDemo {

    public static void main(String[] args) {
        /*案例  使用List接口提供的subList方法获取子List*/
        /*1) 创建List接口的引用list,使该引用指向ArrayList的实例;
        将0~9十个数字作为十个元素放入到集合list中,并输出集合list。*/
        List<Integer> list = new ArrayList<Integer>();
        for(int i=0; i<10; i++){
            list.add(i);
        }
        System.out.println("list集合:"+list);

        //2) 获取list集合的子集合subList,subList子集合的元素为[3, 4, 5, 6, 7]并输出子集合subList。
        List<Integer> subList = list.subList(3, 8);
        System.out.println("subList集合:"+subList);

        /*3) 将subList集合中的每一个元素扩大10倍,输出list集合和subList集合,
        验证subList获得的List集合和源List集合占用相同的数据空间。*/
        for(int i=0; i<subList.size(); i++){
            subList.set(i, subList.get(i)*10);
        }
        System.out.println("subList扩大10倍后: "+subList);
        System.out.println("list集合: "+list);
        /*    输出结果:
         *     subList扩大10倍后: [30, 40, 50, 60, 70]
            list集合: [0, 1, 2, 30, 40, 50, 60, 70, 8, 9]
         */

        //4) 清除list集合中索引位置为3~7(包含3和7)的元素,并输出list。
        list.subList(3, 8).clear();
        System.out.println("list清除3~7位置后的集合:"+list);
    }
}

 

转载于:https://www.cnblogs.com/zyjcxc/p/5448710.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值