Java集合框架---重构设计
面向接口编程:
接口类型 变量 =new 实现类();
List list=new ArrayList();
---------------------------------------
List实现类的特点与性能分析
--------------------------------------
三者共同的特点和遵循的规范:
1):允许元素重复;
2):记录元素的先后添加顺序
--------------------------------------
Vector类:
底层才有数组结构算法,方法都是使用Synchronized修饰,线程安全,但是相当于ArrayList性能较低;
ArrayList类:
底层才有数组结构算法,方法没有使用Synchronized修饰,线程不安全,相当于Vector性能较高。
ArrayLis现在基本上已经取代了Vector的江湖地位。
为了保证ArrayList线程安全,List lsit =Collections.SynchronizedList(new Arraylist(...));
LinkedList类:
底层才有双链表结构算法,方法没有使用Synchronized修饰,线程不安全。
数组结构算法和双向链表结构算法的性能问题:
数组结构算法:插入和删除操作速度低,查询和更改较高;
链表结构算法:插入和删除操作速度快,查询和更改较慢;
---------------------------------------------------------------------------
使用的选择:
Vector类打死都不用!即使要用,就用ArrayList类。
如果插入和删除操作频繁,应该使用LinkedList类;
如果查询和更改操作频繁,应该使用ArrayList类;
在开发中。较多使用ArrayList类,根据具体的需求环境来选择;
public static void main(String[] args) {List list=new ArrayList();list.add("b");list.add("c");list.add("d");list.add("e");//方式1:for循环for (int index = 0; index < list.size(); index++) {Object rest = list.get(index);//取出指定索引位置的元素 System.out.println(rest);}System.out.println("---------------------------------------------------------------------------");//方式2:for-each增强for循环for (Object ele : list) {System.out.println(ele);}System.out.println("---------------------------------------------------------------------------");//方式3:使用while循环操作迭代器IteratorIterator it=list.iterator() ;while(it.hasNext()){System.out.println(it.next());}System.out.println("---------------------------------------------------------------------------");//方式4:使用for循环操作迭代器Iteratorfor (Iterator it2=list.iterator() ;it2.hasNext(); ) {System.out.println(it2.next());}System.out.println(list); }
转载于:https://www.cnblogs.com/jiangxifanzhouyudu/p/6692656.html
Java集合框架---重构设计相关推荐
- Java集合框架-重构设计
根据Vector类,ArrayList类,LinkedList类所有具有的存储特点以及拥有的方法入手,发现共性就往上抽取. 共同的特点: 1):允许元素重复的. 2):会记录先后添加的顺序. 共同的方 ...
- Java集合框架中隐藏的设计套路
我们的世界不应该只有"胡萝卜" 进入正题之前容我先扯点别的. 最近突然想到了一个驴子和胡萝卜不得不说的故事.说是一个人坐在驴子背上,用一根长杆绑着一根胡萝卜,然后把胡萝卜悬到驴子的 ...
- Java集合框架完全解析
1.集合概述 现实生活中集合:很多事物凑在一起. 数学中的集合:具有共同属性的事物的总体. Java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象.在编程时,常常需要集中存放多 ...
- Java集合框架综述,这篇让你吃透!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:平凡希 cnblogs.com/xiaoxi/p/60899 ...
- java集合框架史上最详解(list set 以及map)
title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...
- java集合框架综述
一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和 ...
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类...
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- 容器(一)剖析面试最常见问题之 Java 集合框架
转载自https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/Java%E9%9B%86%E5%90%88%E ...
- java list有序还是无序_牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。...
一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点.每一本小册,我们都会充分关注我们所总结的知识点是否达到这个标 ...
最新文章
- JavaScript 对象属性作实参以及实参对象的callee属性
- DualLinkList
- #淘宝#复制分享宝贝内容,打开淘宝APP,自己主动弹出宝贝提示信息
- 【emWin】例程二十二:窗口对象——Framewin
- 【Android开发】高级组件-选项卡
- (一)人工智能、AI批量抠图、AI视频抠像、图片换背景、视频换背景、实时抠图、实时抠像、虚拟场景直播系统、虚拟旅游、人像去背景、图像去背景、视频背景消除
- 自备ACM模板 —— 数学篇
- 小白入门之海康威视摄像机的二次开发
- LeetCode 分数加减运算
- android死锁解决方案,【线程死锁】Android多线程死锁产生的原因以及如何避免
- 【问题征集】向 iPod 之父、iPhone 联合设计者、Google Nest 创始人 Tony Fadell 提问啦
- 两张图片怎样合成一张左右拼图?
- 【天光学术】语言学论文:英语认知语言学和心理语言学的融通互补探析(节选)
- 三维旋转(根据转轴和角度)的公式。罗德里格旋转公式
- python中*和**之间的区别和联系
- Semantic Visual Simultaneous Localization and Mapping A Survey
- 多层数据包结构及TCP三次握手
- Java 属性集合Properties的六种遍历处理方式
- 获取ip地址的DORA(Discover- Offer- Request- Acknowledgement)过程
- 不想打扰你,只这样静静地看着就足矣
热门文章
- jupyter notebook OSError: [WinError 10049] 在其上下文中,该请求的地址无效。
- 软件设计师备考知识点02
- Linux操作Oracle(1)——Linux下 Weblogic启动关闭方法
- django学习笔记01
- 设计模式16_策略模式
- 家里安装20M宽带,为什么看视频都不卡,但一玩游戏就卡的要死?
- Windows TensorFlow环境搭建
- python matplotlib数据可视化教程_Python使用matplotlib实现数据可视化教程
- python stdin和stdout_无法使用Python写入和读取stdin / stdout
- nlp-tutorial代码注释3-3,双向RNN简介