zoukankan      html  css  js  c++  java
  • 集合

    一、Collection 单列集合最顶层接口 

    • List 接口(有序,有索引,可以存储重复的元素)
      • List体系的孩纸都有索引,可以存储重复的元素,存储的元素有序
      • ArrayList 类 数组结构
      • LinkedList 类 链表结构
    • Set 接口(无序,无索引,元素唯一)
      • 特点和List恰好相反,Set中存储的元素没有索引,而且存储的元素无序

    二、Collection 中的成员方法

    • boolean add(E e):添加元素
    • boolean remove(Object o):从集合中移除元素
    • void clear():清空集合中的元素
    • boolean contains(Object o):判断集合中是否存在指定的元素
    • boolean isEmpty():判断集合是否为空
    • int size():集合的长度,也就是集合中元素的个数

    三、集合的使用步骤:

    1. 创建集合对象
    2. 创建元素对象
    3. 添加元素
    4. 遍历集合

    四、List特有的方法

    • void add(int index,E element):在指定位置添加元素
    • E remove(int index):删除指定位置的元素
    • E set(int index,E element):修改指定位置的元素
    • E get(int index):获取指定位置的元素
    • ListIterator<E> listIterator():返回此列表元素的列表迭代器

    五、ConcurrentModificationException(并发修改异常)

    • 产生的原因:
      • 迭代器依赖于集合而存在,在判断成功后,集合中添加了新的元素,而迭代器并不知道,所有就报错了。
    • 解决
      • A:迭代器遍历的时候,我可以通过迭代器修改集合中的元素
        元素是跟在刚才迭代的元素后面的
      • B:集合遍历的时候,我可以通过集合对象修改集合中的元素
        元素是在最后添加的

    六、集合三种遍历的方法

    • 迭代器遍历
    • 普通for循环遍历
    • 增强for:是for循环的一种,底层是迭代器实现的

    七、HashMap(类)

    • 存储的是一对元素(key = value),HashMap中的key不能重复,并且key遵循唯一性原理依赖hashCode()和equals()方法
    • 常用功能:
      • 添加功能
        • V put(K key, V value):添加一个key=value键值对,当key不重复的时候,返回的是null
                         当添加重复的key的时候,重复的key对应的新的value值回覆盖掉老的value值
                         并且返回原有(老的)value值
      • 获取功能:
        • V get(Object key) //根据key(键)获取Map中对应的value(值)
        • int size() //返回Map中一共有多个键值对
        • Set<K> keySet():将Map所有的key封装到一个Set的集合
        • Collection<V> values():将Map中所有的value封装到一个Collection体系的集合
      • 判断功能
        • boolean containsKey(Object key) //是否包含指定的key
        • boolean containsValue(Object value) //是否包含指定的value
        • boolean isEmpty() //判断是Map否有键值对
      • 删除功能:
        • void clear()   //清空Map中的所有键值对
        • V remove(Object key)  //根据键删除键值对,返回是value
    • 两种遍历方式、
      • 利用keySet()方法遍历
        • a.首先map调用keySet方法,将Map中所有的key封装到一个Set集合中
          b.遍历这个装满key的Set集合
          c.在遍历的过程中利用Map的get(key)方法获取对应的value
      • 利用entrySet()方法遍历
      • 	Set<Entry<String, String>> entrySet = hashMap.entrySet();
        		for (Entry<String, String> entry : entrySet) {
        
        			String key = entry.getKey();
        			String value = entry.getValue();
        			System.out.println(key + "--" + value);
        		}
  • 相关阅读:
    EEPROM与FLASH
    Sublime Markdown预览插件安装流程
    挖矿算法比较(转)
    CPU based record
    MVC学习之数据库开发模式:三种开发模式总结:
    MVC学习之数据库开发模式:模型优先实例介绍
    MVC学习之数据库开发模式:代码优先实例介绍
    MVC学习之数据库开发模式:数据库优先实例介绍
    DataSet之将连个DataSet集合合并成一个DataSet集合
    索引和长度必须引用该字符串内的位置。参数名: length
  • 原文地址:https://www.cnblogs.com/haojia/p/12386237.html
Copyright © 2011-2022 走看看