- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVAList简单理解讲述
List
集合的概念
集合是Java API所提供的一系列类,可以用于动态存放多个对象。--集合只能存对象
集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。(集合中不能放基本数据类型,但可以放基本数据类型的包装类)
集合类全部支持泛型,是一种数据安全的用法。集合框架图
Java的集合框架从整体上可以分为两大家族。
Collection(接口)家族。该接口下的所有子孙均存储的是单一对象。 Add(s)
Map(接口)家族。该接口下的所有子孙均存储的是key-value(键值对)形式的数据。
Put(key,value)
另外还有三个分支,均是为上述两大家族服务的。
Iterator(迭代器)家族。主要用于遍历Colleciton接口的及其子类而设计。
Comparator(比较器), 在集合中存储对象时候,用于对象之间的比较
Collecitons是工具类。注意该类名带个s,一般就表示工具类。里面提供了N多静态方法,来对Colleciton集合进行操作。
List:有序(录入的顺序跟输出顺序一致),可重复
Set:无序,不可重复
使用--原理--看源代码
ListString list = new ArrayListString();
List.add()
SetString set = new HashSetString();
Set.add()
Collection接口
Collection接口概述
Collection接口-定义了存取对象的方法。有两个非常常用的子接口:
List接口:存放的元素有序且允许有重复的集合接口。
Set接口:存放的元素无序不包含重复的集合接口。
说明:
“有序”-元素存入的顺序与取出的顺序相同.Collection接口中的常用方法
int size(); 返回此collection中的元素数。
boolean isEmpty(); 判断此collection中是否包含元素。
boolean contains(Object obj); 判断此collection是否包含指定的元素。
boolean contains(Collection c); 判断此collection是否包含指定collection中的所有元素。
boolean add(Object element); 向此collection中添加元素。
boolean addAll(Collection c);将指定collection中的所有元素添加到此collection中
boolean remove(Object element); 从此collection中移除指定的元素。
boolean removeAll(Collection c); 移除此collection中那些也包含在指定collection中的所有元素。
void clear(); 移除些collection中所有的元素。
boolean retainAll(Collection c); 仅保留此collection中那些也包含在指定collection的元素。
Iterator iterator(); 返回在此collection的元素上进行迭代的迭代器。
Object[] toArray(); 把此collection转成数组。List接口
List接口概述
List中的元素是有序的,且允许重复。体系图如下:
我们重点掌握ArrayList和LinkedList,Vector和Stack了解即可List接口相比Colleciton接口的新增方法
List接口比Collection接口中新增的几个实用方法:
public Object get(int index) 根据下标,返回列表中的元素
public Object add(int index, Object element); 在列表的指定位置插入指定元素.将当前处于该位置的元素(如果有的话)和所有后续元素向右移动
public Object set(int?index, Object?element) ; 用指定元素替换列表中指定位置的元素
public Object remove(int?index) ?????移除列表中指定位置的元素
注意:list集合中的元素的索引与数组中元素的索引一样,均是从0开始。List实现类之ArrayList集合
ArrayList相比數組的區別?容量的可扩展性,数据类型只要是Object类型就行,存储的必须是对象,不能存储基础数据类型。
为什么上述的程序却可以存储基本的数据类型?List实现类之LinkedList集合
这就是面向接口编程的好处。
那么问题来了,既然有两种实现,存在即合理,这两者有什么区
您可能关注的文档
最近下载
- 《科学探究:欧姆定律》名师课件.ppt VIP
- 网络服务业网络安全保障与应急响应机制建设方案.doc VIP
- 2025年高中《通用技术》考试卷(含答案) .pdf VIP
- 堰水力计算水利工程.xls VIP
- 人教版(2024新版)七年级上册生物期末复习知识点背诵提纲.docx VIP
- 2025 全国青少年信息素养大赛 Python 编程挑战赛(个人赛)初中组决赛模拟试卷(一).docx VIP
- 一种推送滚轮.pdf VIP
- EPC项目:基于风险管控的质量体系构建与实施.docx VIP
- 4洗涤剂总活性物的测定.pdf VIP
- 沙库巴曲缬沙坦联合松龄血脉康胶囊治疗老年高血压病合并慢性心力衰竭的.pptx VIP
文档评论(0)