- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Java高实用技术
额外收获
1冒泡排序
口诀:
两两相比小靠前
外出循环n-1
内层循环n-1-i
集合框架和泛型
1.1 集合概述
数组存储多个同类型数据的缺陷: (1)数组长度固定不变,不能很好适应元素数量动态变化的情况。
(2)可通过数组名.length获取数组的长度,却无法直接获取数组中实际存储的元素个数。
(3)数组采用在内存中分配连续空间的存储方式,根据元素信息查找时效率低,需要多次比较。
Java集合框架图
Java的集合类主要有Map接口和Collection接口派生而来。
类或接口 描述 Collection 可以存储一组不唯一、无序的对象 List 可以存储一组不唯一、有序的对象 ArrayList 可以存储一组不唯一同一数据类型、有序的对象。在内存中分配连续的空间,插入、删除等操作频繁时性能低下。 LinkedList 可以存储一组不唯一、有序的对象。插入、删除元素时效率比较高,但是查找效率很低。 Set 可以存储一组唯一、无序的对象 HashSet 可以存储一组唯一、无序的对象。HashSet类是非线程安全的。 Iterator 专门实现集合的遍历 Map 存储一组成对的键(key)-值(value)对象 HashMap 查询指定元素效率高
1.2 List接口
Collection接口是最基本的集合接口,可以存储一组不唯一、无序的对象。List接口继承自Collection接口,是有序集合。List可以存储一组不唯一、有序的对象。
List接口重用的实现类有Array List和LinkedList。
1.2.1 使用ArrayList类动态存储数据
ArrayList集合类和数组采用相同的存储方式,在内存中分配连续的空间,但是它不同与数组,ArrayList集合中可以添加任何类型的数据,并且添加的数据都将转换成Object类型,而在数组中只能添加同一数据类型的数据。
例:
ArrayList list = new ArrayList();
Student stu=new Student();
list.add(null);
list.add(stu);
ArrayList类的常用方法
方法 说明 boolean add(Object e) 在列表的末尾顺序添加元素,其实索引位置从0开始 void add(int index, Object o) 在指定的索引位置添加元素,索引位置必须介于0和列表中元素个数之间 int size() 返回列表中元素的个数 Object get(int index) 返回指定索引位置处的元素,取出的元素是Object类型,使用前需要进行强制类型转换 void set(int index, Object obj) 将index索引位置的元素替换为obj元素 boolean contains(Object o) 判断列表中是否存在指定元素 int indexOf(Object obj) 返回元素在集合中(首次)出现的索引 boolean remove(Object o) 从列表中删除元素 Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
ArrayList list = new ArrayList(); //创建ArrayList对象 //添加数据
list.add(张三丰);
list.add(郭靖);
list.add(杨过); //判断集合中是否包含“李莫愁”
boolean flag=list.contains(李莫愁); if(flag){
System.out.println(李莫愁在集合中存在!);
}else{
System.out.println(李莫愁在集合中不存在!);
} //把索引为0的数据移除
System.out.println(移除前索引为0的数据是:+(String)list.get(0));
list.remove(0);
System.out.println(移除后索引为0的数据是:+(String)list.get(0)); //把索引为1的元素替换为其他元素
System.out.println(替换前索引为1的数据是:+(String)list.get(1));
list.set(1, 黄蓉);
System.out.println(替换后索引为1的数据是:+(String)list.get(1)); //遍历集合,输出集合中的元素
System.out.println(集合中的元素:);
for(int i=0;ilis
文档评论(0)