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流)
上一篇: 几招小动作,猛涨三围不是梦
下一篇: 醋的保健作用 多吃吃出美丽女人