经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
Java基础部分(3)
来源:cnblogs  作者:晓同学  时间:2018/11/5 11:13:17  对本文有异议

Java中的常用类2

  集合

 数组与集合的区别:

  1、数组长度固定,集合长度可变。

  2、数组可以存储基本数据类型,集合只能存储对象。

 集合类的结构图以及相关特点:

Collection
  |--List 有序,可重复
    |--ArrayList
      底层数据结构是数组,查询快,增删慢。
      线程不安全,效率高
    |--Vector
      底层数据结构是数组,查询快,增删慢。
      线程安全,效率低
    |--LinkedList
      底层数据结构是链表,查询慢,增删快。
      线程不安全,效率高
  |--Set 无序,唯一
    |--HashSet
      底层数据结构是哈希表。
      如何保证元素唯一性的呢?
        依赖两个方法:hashCode()和equals()
        开发中自动生成这两个方法即可
      |--LinkedHashSet
        底层数据结构是链表和哈希表
        由链表保证元素有序
        由哈希表保证元素唯一
    |--TreeSet
      底层数据结构是红黑树。
      如何保证元素排序的呢?
        自然排序
        比较器排序
      如何保证元素唯一性的呢?
        根据比较的返回值是否是0来决定

Map

  |--HashMap

    底层数据结构是哈希表

    存储的是键值对形式的元素,键唯一,值可以重复。

 集合中最常用类之 ArrayList类:

  1. //这里的E代表泛型,可以理解成Object类型(虽然这样不准确,但是能够帮助理解)
  2. //添加功能
  3. public boolean add(E o)
  4. public void add(int index,E obj)
  5. //删除功能
  6. public E remove(int index) //根据索引删除
  7. public boolean remove(Object o) //根据内容删除
  8. //获取功能
  9. public E get(int index) //获取指定位置上的元素
  10. public int size() //获取列表中的元素数量
  11. //修改功能
  12. public E set(int index, E element) //替换指定位置内容
  13. //判断
  14. public boolean contains(Object elem) //是否包含指定元素
  15. public boolean isEmpty() //判断是否为空
  16. //转换
  17. public Object[] toArray() //将集合转换为数组

 

 集合中最常用类之HashSet类:

  特别说明1:HashSet集合的底层数据结构是哈希表。

  特别说明2:HashSet的唯一性是由,hashCode()和equals()这两个方法来保证的。所以需要重新这两个方法来实现特定的唯一需求。

  1. //添加功能
  2. public boolean add(E o) //如果此集合中还不包含指定元素,则添加指定元素。
  3. //删除功能
  4. public boolean remove(Object o) //如果指定元素存在于此集合中,则将其移除。
  5. public void clear() //从此集合中移除所有元素。
  6. //判断功能
  7. public boolean contains(Object o) // 如果此集合不包含指定元素,则返回 true。
  8. public boolean isEmpty() //如果此集合不包含任何元素,则返回 true。
  9. //获取功能
  10. public int size() //返回此集合中的元素的数量(集合的容量)。
  11. //复制功能
  12. public Object clone() //返回此 HashSet 实例的浅表复制:并没有克隆这些元素本身。
  13. //迭代器功能,用于遍历集合
  14. public Iterator<E> iterator() //返回对此集合中元素进行迭代的迭代器。

 集合中最常用类之HashMap类:

  特别说明1:Map集合中的内容,都是以键值对的形式来存储的。并且键唯一,值可以重复。

  特别说明2:这种键值对的存储形式,在一些其他语言中又叫做字典。

  1. //添加功能
  2. public V put(K key, V value) //添加键值对
  3. public void putAll(Map<? extends K,? extends V> m)
  4. //删除功能
  5. public void clear() //删除所有
  6. public V remove(Object key) //根据键删除数据
  7. //判断功能
  8. public boolean containsKey(Object key) //判断是否包含该键
  9. public boolean containsValue(Object value) //判断是否包含该值
  10. public boolean isEmpty() //判断是否为空
  11. //获取功能
  12. public V get(Object key) //根据键找值
  13. public Set<K> keySet() //获取键的集合信息
  14. public Collection<V> values() //获取值的集合信息
  15. //长度功能
  16. public int size()

 

 

   文件相关类(IO流)

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号