码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础部分(3)

时间:2018-11-05 11:21:17      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:安全   treeset   inf   OLE   sem   红黑树   contain   void   png   

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基础部分(3)

标签:安全   treeset   inf   OLE   sem   红黑树   contain   void   png   

原文地址:https://www.cnblogs.com/jike8023/p/9903099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!