鱼C论坛

 找回密码
 立即注册
查看: 2979|回复: 0

[学习笔记] Java暑期学习Day35

[复制链接]
发表于 2017-8-9 22:46:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天是第三十五天,还是要抽空学习编写小游戏,愿灾区人民安好


                               
登录/注册后可看大图



  ①Collection架构


  1.收集对象的行为,像是新增对象的add()方法,移除对象的remove()方法等,都是定义在java.util.Collection中。
  既可以收集对象,也能逐一取得对象,这就是java.lang.Iterable定义的行为,它定义了iterator()方法返回java.util.Iterator操作对象,可以让人逐一取得收集的对象。


  2.收集对象的共同行为定义在Collection中,但因为收集对象有不同的需求,所以接口也不同。
  想要收集时记录每个对象的索引顺序,并可依索引取回对象,这样的行为定义在java.util.List接口中。
  想要收集的对象不重复,具有集合的行为,……java.util.Set……
  想要收集对象时以队列方式,收集的对象加入至尾端,取得对象时从前端,……java.util.Queue……
  想要对Queue两端进行加入、移除等操作,……java.util.Deque……


  ②API之Collection
  public interface Collection<E>extends Iterable<E>
  1.Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。
  JDK 不提供此接口的任何直接实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。
包 (bag) 或多集合 (multiset)(可能包含重复元素的无序 collection)应该直接实现此接口。


  2.所有通用的 Collection 实现类(通常通过它的一个子接口间接实现 Collection)应该提供两个“标准”构造方法:
  一个是 void(无参数)构造方法,用于创建空 collection;
  另一个是带有 Collection 类型单参数的构造方法,用于创建一个具有与其参数相同元素新的 collection。
  实际上,后者允许用户复制任何 collection,以生成所需实现类型的一个等效 collection。尽管无法强制执行此约定(因为接口不能包含构造方法),但是 Java 平台库中所有通用的 Collection 实现都遵从它。


  3.此接口中包含的“破坏性”方法,是指可修改其所操作的 collection 的那些方法,如果此 collection 不支持该操作,则指定这些方法抛出 UnsupportedOperationException。如果是这样,那么在调用对该 collection 无效时,这些方法可能,但并不一定抛出 UnsupportedOperationException。例如,如果要添加的 collection 为空且不可修改,则对该 collection 调用 addAll(Collection) 方法时,可能但并不一定抛出异常。
  
  ③List容器的特点
  1.List容器是有序的collection(也称为序列)。此接口的用户可以对List容器中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。List容器允许插入重复的值,包括null


  2.最常用的两个List接口的实现类是ArrayListLinkedList
      a ArrayList---动态数组
      b ArrayList类扩展AbstractList并实现了List接口


      c 支持可随需求增长的动态数组(
  在ArrayList内部数组长度不够时,会建立新的数组,并将旧数组的参考指定给新数组,这会耗费时间和内存
  ArrayList有个可指定容量(Capacity)的构造函数。如果大致知道要收集的对象范围,事先建立足够长度的内部数组,可以节省成本。)


      d ArrayList构造方法
         ArrayList()
         ArrayList(Collection c)
         ArrayList(int capacity)


      e 除了继承的构造方法外,ArrayList的常用方法


            E get(int index) 返回此列表中指定位置上的元素
            int indexOf(Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回-1











  



评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 00:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表