zoukankan      html  css  js  c++  java
  • Java基础部分(3)

    Java中的常用类2

      集合

     数组与集合的区别:

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

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

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

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

    Map

      |--HashMap

        底层数据结构是哈希表

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

     集合中最常用类之 ArrayList类:

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

     集合中最常用类之HashSet类:

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

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

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

     集合中最常用类之HashMap类:

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

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

    //添加功能
    public  V put(K key, V value) //添加键值对
    public void putAll(Map<? extends K,? extends V> m) 
    //删除功能
    public  void clear() //删除所有
    public  V remove(Object key) //根据键删除数据
    //判断功能
    public  boolean containsKey(Object key) //判断是否包含该键
    public  boolean containsValue(Object value) //判断是否包含该值
    public  boolean isEmpty() //判断是否为空
    //获取功能
    public V get(Object key)  //根据键找值
    public Set<K> keySet()  //获取键的集合信息
    public  Collection<V> values()  //获取值的集合信息
    //长度功能
    public int size() 

       文件相关类(IO流)

  • 相关阅读:
    Java 正则表达式
    连续子数组最大和
    背包问题
    二叉树的数组存储
    各种鸟
    mac关闭和开启启动声
    关于栈和队列随想
    linux主机名 hostname
    mysql创建新用户并且授权远程访问
    关于linux的用户
  • 原文地址:https://www.cnblogs.com/jike8023/p/9903099.html
Copyright © 2011-2022 走看看