当前位置: 首页 > news >正文

做公务员试题的网站百度提交网址

做公务员试题的网站,百度提交网址,论学院网站建设项目的进度管理,山西网络建站代运营1.集合类类图 Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└Set ├HashSet ├TreeSet ├LinkedHashSet Map├Hashtable├HashMap├WeakHashMap└SortedMap └TreeMap 2.分类介绍 Collection是最基本的集合接口,JDK提供的类都继承自Col…

1.集合类类图

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
  ├HashSet
  ├TreeSet
  ├LinkedHashSet

Map
├Hashtable
├HashMap
├WeakHashMap
└SortedMap
   └TreeMap

2.分类介绍

  Collection是最基本的集合接口,JDK提供的类都继承自Collection的“子接口”,如List和Set。所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数和有一个Collection参数的构造函数。前者用于创建一个空的Collection,后者用于创建一个新的Collection,允许用户复制一个Collection。不论Collection的实际类型如何,它都支持一个iterator()的方法,该方法返回一个迭代子,可逐一访问Collection中每一个元素。用法如下:

    Iterator it = collection.iterator(); // 获得一个迭代子
    while(it.hasNext()) {
      Object obj = it.next(); // 得到下一个元素
    }

  由Collection接口派生的两个接口是List和Set。

1)Collection和Map区别:

  • Collection类型,每个位置只有一个元素。
  • Map类型,持有key-value形式的数据——“键值对”,即其元素是成对的对象。

2)Collection子接口List和Set区别:

  • List是有序的Collection,确保维护元素特定的顺序,这类似于Java的数组。
  • Set接口不保证维护元素的次序,存入Set的每个元素必须是唯一的。加入Set的Object必须定义equals()方法以确保对象的唯一性。

3)List实现类ArrayList、LinkedList和Vector区别

  • ArrayList实现了可变大小的数组,允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢(类似动态数组)。它允许所有元素,包括null。ArrayList没有同步。如果数组长度一定,用数组效率更高。
  • LinkedList插入与删除元素开销不大,随机访问相比则相对较慢(类似链表)。可当堆栈、队列和双向队列使用。 
  • Vector是同步的。当一个Iterator被创建而且正在被使用,另一个线程改变了Vector的状态,这时将抛出ConcurrentModificationException异常,因此必须捕获该异常。比ArrayList慢。
  • Stack继承自Vector,实现一个后进先出的堆栈。同步的。

4)Set实现类HashSet和TreeSet区别

  • HashSet为快速查找而设计的Set(采用散列函数)。存入HashSet的对象必须定义hashCode()。 它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null元素。此实现不是同步的。
  • TreeSet保持次序的Set,底层为红黑树。使用它可以从Set中提取有序的序列。 
  • LinkedHashSet: 具有HashSet的查询速度,且内部使用链表维护元素的顺序(哈希函数+链表)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。 

5)Map实现类Hashtable、HashMap和WeakHashMap

  • Hashtable是同步的,不允许null。继承于陈旧的Dictionary类的。
  • HashMap是非同步的,速度比Hashtable快。允许null。HashMap继承于AbstractMap类。内部Hash数组等于Hashtable不同。Map 中插入、删除和定位元素,HashMap 是最好的选择。
  • WeakHashMap是一种改进的HashMap,若一个key不再被外部所引用,那么该key可以被GC回收。
  • TreeMap中所有元素都保持固定的顺序,如果需有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。

3 总结

  • 容器对象仅能持有对象引用(对象的指针),而不是将对象信息Copy一根至数列末位置。
  • 在多线程环境下,对于非同步的结合和Map,可以用类似List list = Collections.synchronizedList(new LinkedList(...));或 Collections.synchronizedMap(originMap) 实现其同步,或者其他手动同步的方法。
  • Map提供的不是对象与数组的关联,而是对象和对象的关联。
  • Set只接受不重复的对象。HashSet提供了最快的查询速度。而TreeSet则保持元素有序。LinkedHashSet保持元素的插入顺序。
  • 没必要再在新代码里使用旧类库留下来的Vector,Hashtable和Stack了。

 --------------------------------------------------------------------

PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。

--------------------------------------------------------------------

http://www.lbrq.cn/news/2462419.html

相关文章:

  • 网站备案备的是域名还是空间高级seo培训
  • wordpress礼物说主题百度推广seo优化
  • 广西建设网公布名单seo优化师是什么
  • 自己建设的网站怎么上传图片ebay欧洲站网址
  • 域名 就一个网站免费网络推广平台
  • 企业网站建设哪家服务好bt搜索引擎最好用的
  • dede制作的网站挂马网络营销与直播电商好就业吗
  • 昆明网站开发哪家好win10系统优化
  • 网站建设及相关流程图黄页88网站推广方案
  • wordpress html页面缓存 cdn如何优化关键词的方法
  • 做设计的搜素材上什么网站域名检测
  • 谭八爷网站建设做谷歌推广比较好的公司
  • 网站建设需求文档模板如何进行网络推广和宣传
  • dede网站模板怎么安装源码交易平台
  • 网站免费建站 网页不需要备案seo快速排名百度首页
  • 专业网站设计网络服务潍坊网站建设咨询
  • 制定网站建设规划书如何在百度上发自己的广告?
  • 做网站简单还是写程序制作网页教程
  • 建设网站用什么服务器网络优化seo是什么工作
  • 网站漂浮窗口代码企业推广方案
  • 网站图片 优化免费顶级域名注册
  • 嘉善 网站建设百度认证官网申请
  • 热烈祝贺网站上线绍兴seo网站优化
  • 晋中路桥建设集团网站要做网络推广
  • 网站禁止右键代码建站企业网站
  • 可以做哪些网站有哪些内容安徽360优化
  • 沙元浦做网站的公司最近在线直播免费观看
  • 昆明做网站报价如何建立网上销售平台
  • 如何做网站logo百度学术论文查重免费检测
  • wordpress微信设置武汉seo搜索引擎
  • centos7安装docker命令
  • Oracle MCP本地部署测试
  • Ethereum:Geth + Clef 本地开发环境,如何优雅地签名并发送一笔以太坊交易?
  • Leetcode 07 java
  • Lua(垃圾回收)
  • 基于Zig语言,opencv相关的c++程序静态交叉编译