Java基础部分(3)
2018-11-05 08:22:42来源:博客园 阅读 ()
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内存分配与溢出
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash