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

公众号 微网站开发西宁市城乡建设网站

公众号 微网站开发,西宁市城乡建设网站,国内知名网站建设排名,亳州网站制作List接口继承了Collection接口#xff0c;定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理#xff0c;还添加了面向位置的操作。 实际上有两种list#xff1a;一种是基本的ArrayList#xff0c;其优点在于随机访问元素#xff0c;另一种是更强大的L…List接口继承了Collection接口定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理还添加了面向位置的操作。 实际上有两种list一种是基本的ArrayList其优点在于随机访问元素另一种是更强大的LinkedList它并不是快速随机访问设计的而是具有更通用的方法。 List : 次序是List最重要的特点它保证维护元素特定的顺序。 ArrayList : 由数组实现的List。允许对元素进行快速随机访问但是向List中间插入与移除元素的速度很慢。 LinkedList : 对顺序访问进行了优化向List中间插入与删除的开销并不大随机访问则相对较慢。还具有下列方法addFirst(), addLast(), getFirst(), getLast(), removeFirst() 和 removeLast(), 这些方法 (没有在任何接口或基类中定义过)使得LinkedList可以当作堆栈、队列和双向队列使用。 Vector实现一个类似数组一样的表自动增加容量来容纳你所需的元素。使用下标存储和检索对象就象在一个标准的数组中一样。你也可以用一个迭代器从一个Vector中检索对象Vector是 需要zi料 绿色徽【vip1024b】 唯一的同步容器类!! stack这个类从vector派生而来并增加了方法实现栈一种后进先出的存储结构。 List的用法示例 package collection; import java.util.*; public class SetExample { public static void main(String[] args) { List linkedList new LinkedList(); for (int i 0; i 5; i) { linkedList.add(“a”i); } System.out.println(linkedList); linkedList.add(3,“a100”); System.out.println(linkedList); linkedList.set(6,“a200”); System.out.println(linkedList); System.out.println(linkedList.get(2)); System.out.println(linkedList.indexOf(“a3”)); linkedList.remove(1); System.out.println(linkedList); } } 六、list和set对比 Set子接口:无序不允许重复检索元素效率低下删除和插入效率高插入和删除不会引起元素位置改变。 List子接口:有序可以有重复元素和数组类似List可以动态增长查找元素效率高插入删除元素效率低因为会引起其他元素位置改变。 Set和List具体子类 Set |————HashSet以哈希表的形式存放元素插入删除速度很快。 List |————ArrayList动态数组 |————LinkedList链表、队列、堆栈。 七、map 1、map接口不是Collection接口的继承。 不重复的键到值的映射。 2、Map.Entry 接口 map的entrySet()方法返回一个实现map.entry接口的对象集合。集合中每个对象都是底层map中一个特定的键值对。 3、HashMap 类和 TreeMap 类 在map中插入、删除和定位元素HashMap是最好的选择。但如果您要按顺序遍历键那么TreeMap 会更好。根据集合大小先把元素添加HashMap再把这种映射转换成一个用于有序键遍历的TreeMap 可能更快。 为了优化hashmap空间的使用您可以调优初始容量和负载因子。这个treeMap没有调优选项因为该树总处于平衡状态。 hashtable实现一个映象所有的键必须非空。为了能高效的工作定义键的类必须实现hashcode()方法和equal()方法。这个类时前面Java实现的一个继承并且通常能在实现映象的其它类中更好地使用。 hashmap实现一个映象运行存储空对象而且允许键是空由于键必须是唯一的当然只能有一个空。 WeakHashMap如果有一个键对于一个对象而言不再被引用键将被舍弃WeakHashMap在具有大量数据时使用。 TreeMap 实现这样一个映象对象是按键升序排列的。 4、map的使用示例 以下程序演示了具体map类的使用。该程序对自命令行传递的词进行频率计数。hashmap起初用于数据存储。后来映射被转换为TreeMap以显示有序的键列列表。 package collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; public class MapExample { public static void main(String[] args) { String[] array {“a”,“b”,“c”,“d”,“e”}; Map map new HashMap(); Integer ONE new Integer(1); for (int i0, narray.length; in; i) { String key array[i]; int frequency i1; map.put(key, frequency); } System.out.println(map); Map sortedMap new TreeMap(map); System.out.println(sortedMap); //hashmap的同步 Map map1 Collections.synchronizedMap(map); System.out.println(map1); } } 5、控制台输出 八、HashMap、Hashtable、ConcurrentHashMap的原理与区别 1、HashTable 底层数组链表实现无论key还是value都不能为null线程安全实现线程安全的方式是在修改数据时锁住整个HashTable效率低ConcurrentHashMap做了相关优化 初始size为11扩容newsize olesize*21 计算index的方法index (hash 0x7FFFFFFF) % tab.length 2、HashMap 1HashMap简介 底层数组链表实现可以存储null键和null值线程不安全 初始size为16扩容newsize oldsize*2size一定为2的n次幂 扩容针对整个Map每次扩容时原来数组中的元素依次重新计算存放位置并重新插入 插入元素后才判断该不该扩容有可能无效扩容插入后如果扩容如果没有再次插入就会产生无效扩容 当Map中元素总数超过Entry数组的75%触发扩容操作为了减少链表长度元素分配更均匀 计算index方法index hash (tab.length – 1) 2HashMap加载因子 哈希冲突若干Key的哈希值按数组大小取模后如果落在同一个数组下标上将组成一条Entry链对Key的查找需要遍历Entry链上的每个元素执行equals()比较。 加载因子为了降低哈希冲突的概率默认当HashMap中的键值对达到数组大小的75%时即会触发扩容。因此如果预估容量是100即需要设定100/0.75134的数组大小。 空间换时间如果希望加快Key查找的时间还可以进一步降低加载因子加大初始大小以降低哈希冲突的概率。 3HashMap容量 HashMap和Hashtable都是用hash算法来决定其元素的存储因此HashMap和Hashtable的hash表包含如下属性 容量capacityhash表中桶的数量 初始化容量initial capacity创建hash表时桶的数量HashMap允许在构造器中指定初始化容量 尺寸size当前hash表中记录的数量 负载因子load factor负载因子等于“size/capacity”。负载因子为0表示空的hash表0.5表示半满的散列表依此类推。轻负载的散列表具有冲突少、适宜插入与查询的特点但是使用Iterator迭代元素时比较慢 除此之外hash表里还有一个“负载极限”“负载极限”是一个01的数值“负载极限”决定了hash表的最大填满程度。当hash表中的负载因子达到指定的“负载极限”时hash表会自动成倍地增加容量桶的数量并将原有的对象重新分配放入新的桶内这称为rehashing。 HashMap和Hashtable的构造器允许指定一个负载极限HashMap和Hashtable默认的“负载极限”为0.75这表明当该hash表的3/4已经被填满时hash表会发生rehashing。 笔者福利 以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”不管是技术还是HR的问题都有针对性的回答。 有了这个面试踩雷不存在的 回馈粉丝诚意满满 hash表会发生rehashing。 笔者福利 以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”不管是技术还是HR的问题都有针对性的回答。 有了这个面试踩雷不存在的 回馈粉丝诚意满满 [外链图片转存中…(img-GEgc3vXh-1710358195397)] [外链图片转存中…(img-7u9zz3mh-1710358195398)] [外链图片转存中…(img-s1kdbJeB-1710358195399)] [外链图片转存中…(img-6cV4LgY7-1710358195399)]
http://www.dnsts.com.cn/news/21864.html

相关文章:

  • 网站的风格外贸网站建设浩森宇特
  • 建网站麻烦吗wordpress文章内多页效果
  • dw做网站有哪些用处设计官网推荐
  • 做网站被骗五千多公司网站怎么弄
  • 网站建设多少钱哪个济南兴田德润有活动吗wordpress 扫码登录
  • 网站运营托管4414站长平台
  • 关于化妆品的网页设计seo关键词优化策略
  • 遥阳科技网站建设自己做的网站能联网吗
  • 服装网站建设项目规划书目前网站建设采用什么技术
  • 网站架构优化 ampwordpress博客网站描述在哪里
  • 辛集市住房和城乡建设局网站房地产 网站 案例
  • 域名网站建设方案书模板响应式全屏网站
  • 成都网站推广如何南通网站建设策划书
  • 互联网定制产品网站三五互联网站管理登录网址
  • 旅游信息管理网站开发文件设计互动网站建设
  • 有了域名搭建网站详细步骤WordPress伪静态公告404
  • 计算机网站建设方向网站开发重点难点分析
  • 凡科做的手机网站可以导出来临沂哪里有做网站
  • 睿达科网络 网站建设wordpress 社交主题
  • 山东省建设部网站官网丰南建设局网站
  • 网站建设走无形资产阿里云企业网站怎么建设
  • 助企建站华为手机价格大全
  • 做电影网站免责声明有用吗个人博客网站开发毕业设计
  • 电商网站开发合同建设母婴网站的总结
  • 做直播的网站河南省住房和城乡建设厅官方网站
  • 夏邑县城乡建设规划局网站用flash做网站教程
  • 格子三合一交友婚恋网站模板做pc端网站哪家好
  • 福州做网站公司排名电子商务网站建设与管理考试例题
  • 毕业设计做网站论文好写吗三原网站开发
  • 网站做qq登录东莞网站排名优化报价