String[] arr = { "a", "b", "c" };
List<String> aslist = Arrays.asList(arr); // asList 返回的list不能做新增、删除
// list.add("d");
List<String> arrList = new ArrayList<String>(aslist); List<Integer> intListOld = new ArrayList<>();
intListOld.add(1);intListOld.add(2);
intListOld.add(3);intListOld.add(4);
List<Integer> intListNew = intListOld.subList(1, 3);
// subList 生成子列表后,不要试图去操作原列表
// intListOld.add(5);      

      List<Integer> list1 = new ArrayList<Integer>();
      list1.add(1);
      list1.add(2);

      List<Integer> list3 = list1.subList(0, list1.size()-1);
      list3.add(3);

      System.out.println("list1 == list3:" + list1.equals(list3));
      System.out.println(list1); System.out.println(list3);

      list1 == list3:false

// subList返回的是一个视图,指向同一个位置,会作用到原数据,如果长度相同,则数据一样
      [1, 3, 2]
      [1, 3]


suList() 和 asList()的更多相关文章

  1. 【转】java.util.Arrays.asList 的用法

    DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...

  2. Arrays.asList()注意

    api: public static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表.(对返回列表的更改会“直接写”到数组.)此方 ...

  3. Java提高篇(三六)-----Java集合细节(二):asList的缺陷

    在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷: 一.避免使用基本数据类型数组转换为列表 使用8个基本类型数组转换为列表时会存 ...

  4. subList和asList

    subList subList返回仅仅只是一个视图.直接上源码 public List<E> subList(int fromIndex, int toIndex) { subListRa ...

  5. Arrays.toString Arrays.asList

    import java.util.Arrays; public class TestCalc{ public static void main(String[] args) { ,,,,,,,}; / ...

  6. Arrays.asList()使用注意点

    今天看代码时, 发现书上使用了Arrays.asList()方法, 将一个数组转成了List, 然后说到得到的List不能调用add(), remove()方法添加元素或者删除,带着疑问看了下内部实现 ...

  7. Arrays.asList(数组) 解说

    最近在用Arrays的asList()生成的List时,List元素的个数时而不正确. Java代码 一:Arrays.asList(数组)该方法是将数组转化为集合(该方法主要用于Object对象数组 ...

  8. Arrays.asList方法总结

    import java.util.Arrays; import java.util.List; /** * * 本类演示了Arrays类中的asList方法 * 通过四个段落来演示,体现出了该方法的相 ...

  9. Arrays.asList的使用及异常问题

    将数组转成List问题,通常我们习惯这样写成:List<String> list = Arrays.asList("1","2"); 于是我们这样就 ...

随机推荐

  1. python 读取默认配置文件和用户配置文件 configs

    优先从configs_default中读取配置,但是configs_override中的配置可以override它 import configs_default #import configs_ove ...

  2. python-django-01

    1.Python工具 - pip 1.作用 Python的软件包管理器,有一些python包被集成到了pip中.只要被集成到pip中的包,都允许通过pip直接安装 2.安装 pip sudo apt ...

  3. 番外篇1:在Windows环境中安装JDK

    他山之石,可以攻玉!欢迎关注我的微信公众号 本文作为构建第一个Java程序的番外篇一,跟大家探讨下在Windows下怎么安装JDK.由于本人没有Mac,因此如果是Mac的同学,请自行百度哦! 读前预览 ...

  4. vue 安装

    安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 安装 vue.js cnpm install -g vue- ...

  5. OnApplicationFocus & OnApplicationPause &时间戳

    锁屏.切到后台 程序强制暂停时使用 private long leaveTime; private void OnApplicationFocus(bool focus) { if (focus==f ...

  6. Chrome如何访问外网

    分享一下谷歌Chrome浏览器如何访问外网(FQ) 1.请确保你已经安装谷歌浏览器,同时能上网 2. 访问外网需要下载谷歌浏览器插件,网盘链接 https://pan.baidu.com/s/1R-b ...

  7. 简述grub启动引导程序配置及命令行接口详解

    一.版本 grub:Grand Unified Bootloader grub 0.x:grub legacy grub 1.x:grub2 二.grub legacy 三个过程 stage1:安装在 ...

  8. 解决: Homestead 环境下, yarn install --no-bin-links, NPM run dev, 命令报错

    执行以下命令: 1 $ rm -rf node_modules 2 $ yarn config set registry http://registry.cnpmjs.org 3 $ yarn ins ...

  9. ST&倍增LCA

    回顾st算法,它的一大功能是求区间最值.先将整个区间划分成若干个小的区间,求出最值,然后将小的区间合并成一个大的区间,我们这里要用到一个数组minn[i][j],划重点!如果我们要求的是区间最小值,m ...

  10. spring 普通类注入为null,通过自定义SpringUtils解决

    package com.jathams.spring; import org.springframework.beans.BeansException; import org.springframew ...