首页 > 编程知识 正文

java容器分为两大类,java内存数据库

时间:2023-05-05 10:15:27 阅读:40602 作者:55

java容器(Container )1.容器容器是指java创建的程序,本来需要自己编写程序来管理对象之间的关系。 容器会自动创建。

2.java的三个容器Java的容器类型为List、Set和Map

Mapsetlist将相同的值存储为键-键对。 被复盖,无法存储相同的元素。 可以存储相同元素的是基于哈希表或红黑树并基于Map基于数组或链表实现3.java内置容器类的Java内部容器类,主要是Collection (集合)和mmap

Collection set HashSet是基于哈希表实现的,基本上是使用HashMap存储所有元素。 不能保证反复顺序。 可以使用空元素。 链接的散列链接的散列的基础使用链接的散列来存储所有元素,它们由散列继承。 在内部使用双向链表保持插入顺序。 TreeSet基于TreeMap红黑树实现TreeSet异步,线程不安全。 TreeSet元素支持两种排序方法:自然排序或根据创建TreeSet时提供的Comparator进行排序。 List ArrayList实现List接口,基础使用数组存储所有元素。 相当于动态数组,支持动态扩展。 不同步。 Vector Vector提供可扩展的对象数组。 Vector实现List接口,继承AbstractList类,同时还实现RandmoAccess接口、Cloneable接口。 Vector是线程安全的链接列表链接列表。 链接列表是基于链表实现的。 因此,插入和删除操作比ArrayList更有效。 但是,由于基于链表,随机接入的效率比ArrayList差。 队列链接列表可用于实现双向队列。 Map )映射(键值对)问题处理HashMap HashMap是基于密钥的HashCode实现的,访问速度快,扫描顺序不确定。 HashMap最多只允许一个记录的键为空,而多个记录的值为空。 HashMap线程不安全。 要确保线程安全,请使用Collections的同步映射方法使HashMap具有线程安全功能,或使用ConcurrentHashMap。 HashTable HashTable是传统类,大多数功能与HashMap类似,并从Dictionary类继承。 HashTable是线程安全的。 也就是说,在任何给定时间只能编写HashTable的一个线程。 HashTable的并发性比ConcurrentHashMap差,因为ConcurrentHashMap中引入了分段锁定。 LinkedHashMap基于哈希表和链表实现,使用双向链表确保迭代顺序为插入顺序。 TreeMap是基于红黑树实现的。 默认情况下,按键值按升序排序。 使用TreeMap时,key必须实现Comparable接口,或者生成TreeMap并传递自定义Comparator。

运行时抛出java.lang.ClassCastException类型的异常。 4 .容器体系图

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。