《读java编程思想》 持有对象(11)

从这章开始,就要涉及到很多java的类库了,有了java的基本概念,这些应该比较容易一些

  1. 基本概念,两种类型:Collection,Map
  2. 添加一组对象
    • Collections.addAll(Collection c, ...)
    • Arrays.asList()输出作为list,但是底层是数组,不能调整尺寸
  3. List接口在Collection的基础上添加了大量的方法,包括subList,containsAll(与顺序无关),addAll(pos,  List),removeAll,retainAll
  4. 迭代器。Java的迭代器只能单向移动,用来 iterator()返回迭代器,next,hasNext,remove。java中迭代器的操作对象是最近访问过的对象
  5. listIterator是一个更加强大的Iterator,可以双向移动,it.next, it.nextIndex, it.previousIndex
  6. Stack
    public class Stack<T> {
        private LinkedList<T> storage = new LinkedList<T>{}();
        public void push(T v) { storage.addFirst(v); }
        public T peek() { return storage.getFirst();}
        public T pop() { return storage.removeFirst(); }
        public boolean empty() { return storage.isEmpty; }
        public String toString() { return storage.toString(); }
    }
  7. set不接受重复元素, haseSet使用散列,treeSet使用红黑树,自动排序, LinkedHashSet保持添加的顺序
  8. Map:get,put,contains, keySet,values
  9. Queue接口,LinkdedList支持队列行为。方法 offer和peek。peek在队列为空的时候返回null,element在队列为空的时候抛出异常,poll和remove同理
  10. PriorityQueue
  11. 不存在任何从数组到Iterable的自动转换,必须使用Arrays.asList来手工转换
  12. 适配器方法惯用法:可以提供多个迭代器,在foreach中使用提供的Iterable对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值