Java基础部分(3)

2018-11-05 08:22:42来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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流)

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:java内存分配与溢出

下一篇:获取数据库连接对象Connection