美文网首页
Collection中的视图技术(一)

Collection中的视图技术(一)

作者: pureWeek | 来源:发表于2019-06-06 20:30 被阅读0次

    轻量级集合包装器

    String[] temp=new String[20];

    List<String> tempList=Arrays.asList(temp);

    以上代码返回的不是一个ArrayList,而是一个视图对象,你只能使用get(),set()方法访问底层的数组,而任何尝试

    改变数组大小的方法都抛出UnsupportedOperationException。

    Collections.nCopies和Collections.singleton也是返回了不可修改的对象

    用Junit测试Collections.nCopies(int n, T o)

          public void testCollectionnCopies(){

            List<String> settings=Collections.nCopies(5, "Baby");

            String testStr1=settings.get(1);

            String testStr0=settings.get(0);

            System.out.println(testStr1==testStr0);//返回true

            System.out.println(testStr1);

            settings.add("B");//抛出UnsupportedOperationException

            System.out.println(settings);

        }

    同时:还有Collections.singleton(anObject)等实用的方法。

    相关文章

      网友评论

          本文标题:Collection中的视图技术(一)

          本文链接:https://www.haomeiwen.com/subject/idfpxctx.html