zoukankan      html  css  js  c++  java
  • java持有对象【1】容器类及ArrayList

        如果一个程序只包含固定数量的且其生命周期都是已知的对象,那么这是一个非常简单的程序。  ----------java编程思想第十一章引言

        java有许多方式引用对象,例如学过的数组,他是编译器支持的类型,用来保存一组对象的最有效方式。但是数组具有固定的尺寸,在此受限的情况下,就需学习java的容器类

        深入的学习就要去不停地阅读jdk。java使用类库提供了一套完整的容器类。其中基本类型是List,Set,Queue,Map。也称为集合类。java的类库中用了collection来指代该类库的一个特殊子集,即为层次结构中的根接口。

        Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 SetList)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。

        包 (bag)多集合 (multiset)(可能包含重复元素的无序 collection)应该直接实现此接口。

        ArrayList,你可以看待他为“可以自动扩充自身尺寸的数组”。使用ArrayList的方法:创建一个实例,用add()插入对象,然后用get()访问这些对象,此时需要用到索引,像数组一样,但是不需要方括号  " [  ] "  。ArrayList还有一个方法size(),表示有多少个元素添加了进来,从而不会不小心因索引越界而引发错误(通过抛出运行时异常)。

        public class AAO{

          @SupperessWarnings("unchecked")

            public staticvoid main(String[] args){

              //ArrayList保存的是Object,所以可以通过其的add()方法添加Apple对象和Orange对象

              //若想定义来保存Apple对象的ArrayList,需声明ArrayList<Apple>,尖括号内饰类型参数(可为多个)

              ArrayList apples=new ArrayList();

              for(int i=0;i<3;i++){       apples.add(new Apple());  }

              apples.add(new Orange());

              //get()方法取出的Apple对象,只是Object引用,需转型为Apple

              for(int i=0;i<apples.size();i++){  ( (Apple)apples.get(i) ).id();  }

            }

          }

          //Apple和Orange类除了都是Object之外没有共性。(如果一个类没有显示声明继承自哪个类,那么他自动继承自Object)

          class Apple{

            private static long counter;

            private finallong id=counter++;

            public long id()  {  return  id  ;  }

            }

          class  Orange{}

  • 相关阅读:
    加密与解密学习笔记3-Windows与Unicode
    加密与解密学习笔记2-windows API函数
    加密与解密学习笔记1-文本编码方式
    python3基础知识自学笔记4-流程控制、迭代器、生成器
    python3基础知识自学笔记3-集合字典元组
    python3基础知识自学笔记2-列表
    在单链表按升序插入一个值
    [转]设置好ftp后用xftp连接提示无法打开,无法显示远程文件夹
    删除底部"自豪地采用 WordPress"
    win7一体机放音乐时只有音乐,人声特别小怎么回事
  • 原文地址:https://www.cnblogs.com/1996swg/p/7119194.html
Copyright © 2011-2022 走看看