Java 读书笔记 11 持有对象

持有对象

泛型

1.简单来说 ArrayAlist可以限制只储存Apple类及其子类,限制其他类对象
容器整体结构

这里写图片描述

这部分偏向于介绍具体的操作,就简单写了;这种东西不写写,不可能记得住;

list

  1. ArayList,基本和数组一个模式,随机访问简单,插入删除比较麻烦
  2. LinkedList,链表嘛,肯定是插入删除简单,随机访问麻烦;

Iterator

1.可以简单的理解为,通过Iterator,我们可以将容器内的对象简单的取出来,进行一些操作

 list l = new ArrayList();
 l.add("aa");
 l.add("bb");
 l.add("cc");
 for (Iterator iter = l.iterator(); iter.hasNext();) {
  String str = (String)iter.next();
  System.out.println(str);
 }

ListIterator

更加强大的子类型,只能用于各种List类的访问。

可以双向移动
可以产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引
listIterator()产生一个指向List开始处的ListIterator
listIterator(n)产生一个开始指向索引为n的元素处的ListIterator

Set

Set最常用的是测试归属性,可以很容易查询到某个元素是否在某个Set中,因此查找变成最重要的操作,选择使用HashSet的实现,专门对快速查找进行了优化。

Set和Collection有完全相同的接口。

TreeSet将元素存储在红黑树数据结构中
HashSet用的是散列函数
LinkedHashSet因为查询速度的原因也使用了散列,但是却用了链表来维护元素的插入顺序

map

键值映射

Queue

队列是一个典型的“先进先出”(FIFO)容器。

LinkedList提供了方法支持队列的行为,并且实现了Queue接口,因此LinkedList可以用作Queue的一种实现,可以向上转型为Queue类型来使用。

PriorityQueue

优先级队列声明下一个弹出元素是最需要的元素(优先级最高)。

可以通过构造器设置优先级规则(Collections类内有部分定义的规则)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值