美文网首页
11、持有对象

11、持有对象

作者: whyshang | 来源:发表于2017-02-14 14:02 被阅读0次

一、基本概念

  • 容器类类库的用途是保存对象
    1、Collection:一个独立元素的序列
    2、Map:一组成对的“键值对”对象,允许你用键来查找值。映射表,允许我们用另一个对象来查找某个对象,它也被称为关联数组。
  • 集合方法Collection
1、添加
boolean add(E e)  添加1个 
boolean addAll(collection<? extends E> c) 添加指定容器中的所有元素
2、删除
void clear()  清空所有
boolean remove(Object o) 删除一个
boolean removeAll(collection<? extends E> c) 删除指定容器中的所有元素
boolean retainAll(collection<? extends E> c) 移除指定容器中不同的元素
3、获取长度
int size()
4、判断
boolean isEmpty() 是否为空  
boolean contains(Object o) 包含某个元素
boolean containsAll(Collection<? extends E> c)包含某个指定容器中的元素
5、将集合转成数组
Object[] toArray()
6、取出集合元素
Iterator iterator()
获取集合中元素上迭代功能的迭代器对象

迭代:取出元素的一种方式
迭代器:具备迭代功能的对象。NoSuchElementException
迭代器是取出Collection集合元素的公共方式

二、List(有序的Collection)

  • List<E>特有的方法(围绕索引来定义)
1、添加元素
void add(int index, E element) 在List指定位置添加元素
void addAll(int index, Collection<? extends E> c)
2、获取元素
E get(int index)  获取元素
List<E> subList(int fromIndex, int toIndex)  获取指定位置之间的元素
3、删除
boolean remove(int index)  移除列表指定位置的元素
4、修改
E set(int index, E element)  用指定元素替换列表中指定位置的元素
5、获取索引
int indexOf(Object o)  获取第一次出现指定元素的索引
int lastIndexOf(Object o)  获取最后一次出现指定元素的索引
6、取出集合元素
ListIterator listIterator(int n)  指定返回第一个元素的索引值
  • List承诺可以讲元素维护在特定的序列中。可以对List中每个元素的插入位置进行精确控制。
  • 1、ArrayList,长于随机访问元素,但进行插入和移除操作时较慢
    2、LinkedList,通过较低代价的在List中进行插入和删除操作,提供了优化的顺序访问。功能较强。

三、迭代器

  • 迭代器设计模式:迭代器(Iterator)是一个对象,它的工作是遍历并选择序列中的对象。
    迭代器通常被称为轻量级对象,创建它的代价小
  • 使用迭代器:
1、使用方法iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素
2、使用next()获得序列的下一个元素
3、使用hasNext()检查序列中是否还有元素
4、使用remove()将迭代器新近返回的元素删除
  • 特殊的迭代器 ListIterator<E>,可以双向移动
    新增方法
void add(E e)  插入元素
boolean hasPrevious()  逆向遍历
int nextIndex()  返回对next后续调用元素索引
int previousIndex()  返回对previous后续调用元素索引
E previous()  返回列表前一个元素
void set(E e)  用指定元素替换返回的元素

四、LinkedList<E>

  • LinkedList,通过较低代价的在List中进行插入和删除操作,提供了优化的顺序访问。功能较强。
    添加了可以使其用作栈、队列、或双端队列的方法。
    新增方法
1、添加元素
void addFirst(E e)  将指定元素插入此列表开头
void addLast(E e)  将指定元素插入此列表结尾
boolean offerFirst(E e)  在此列表开头插入指定元素
boolean offerLast(E e)  在此列表结尾插入指定元素
2、获取元素
E getFirest();  返回列表的第一个元素
E getLast();  返回列表的最后一个元素
3、删除元素
E removeFirst()  移除并返回列表第一个元素
E removeLast()  移除并返回列表最后一个元素
boolean removeFirstOccurrence(Object o)  移除此列表第一次出现的指定元素
boolean removeLastOccurrence(Object o)  移除此列表最后一次出现的指定元素
4、Queue集合的方法
E element();  返回列表的第一个元素
boolean offer(E e);  将指定元素添加到列表的末尾
E peek();  同 element(),但是在列表为空时返回null
E  poll(); 同remove(), 移除并返回列表第一个元素,但是在列表为空时返回null
5、迭代器

五、Set<E>

  • Set不保存重复的元素,它会阻止这一现象。
    Set常用来测试归属性,可以很容易的询问某个对象是否在Set中,所以查找成为了Set中最重要测操作。
    HashSet,专门对快速查找进行了优化
  • Set就是Collection,只是行为不同。Set是基于对象的值来确定归属性的。

六、Map<K,V>

  • 将对象映射到其他对象的能力是一种解决编程问题的杀手锏。
    Map<K,V>基本方法
1、取值
V get(Object key);  返回指定键所对应的值
Set<K> keySet();  返回此映射中包含的 键 的Set视图
Set<Map.Entry<K,V>> entrySet(); 返回此映射中包含的映射关系的Set视图
Collection<V> values();  返回此映射中包含值的Collection视图
2、关联
V put(K key, V value)将指定的键与值关联
void putAll(Map, m)  从Map中复制映射
3、删除映射关系
V remove(Object k)  删除指定键的映射关系
4、总数
int size()
5、判断
boolean containsKey(Object Key)
boolean containsValue(Object Key)

相关文章

  • 11、持有对象

    一、基本概念 容器类类库的用途是保存对象1、Collection:一个独立元素的序列2、Map:一组成对的“键值对...

  • 11.持有对象

    集合类:list(特定顺序) set(元素不重复) queue(一端插入,一端移除) map(键值对) Colle...

  • 11.持有对象

    集合类基本类型:List,Set,Queue,Map 迭代器:是一个对象,用于遍历序列中的对象Iterator:只...

  • 11.持有对象

    1.泛型和类型安全的容器 编译器将不允许你向容器里插入不正确的类型。 2.基本概念 Collection 一个独立...

  • 第11章:持有对象

    记录《Thinking In Java》学习过程中的一些总结。 数组 数组将数字与对象联系起来。它保存类型明确的对...

  • 第11章 持有对象

    set不重复: Arrays.asList()的用法,1可变参数、2数组Collections.addAll的用法...

  • 持有对象

    11 . java容器就是用来保存对象 除了数组外 还有集合分为:Collection,Map 两大类Collec...

  • iOS-@property-所有权修饰符

    自己生成的对象,自己所持有; 非自己生成的对象,自己也能持有; 自己持有的对象不再需要时释放; 非自己持有的对象无...

  • 内存管理的思考方式

    自己生成的对象,自己持有 非自己生成的对象,自己也能持有 不再需要自己持有的对象时释放 非自己持有的对象无法释放 ...

  • 内存管理的思考方式

    自己生成的对象, 自己所持有 非自己生成的对象, 自己也能持有 不再需要自己持有的对象时释放 非自己持有的对象无法...

网友评论

      本文标题:11、持有对象

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