API第一章:集合

一:学习集合的用处

1:数组的缺陷

(1)数组中只能存储相同类型的数据。
(2)数组的长度固定不变,不能很好的解决元素数量动态变化的问题。
(3)虽然可以通过数组名.length获取数组的长度,但却无法直接获取
其中真正存储的元素的个数;
(4)数组采取的是在内存中分配连续空间的方式来存储数据,虽然可以
通过下标快速获取元素,但是反过来,要想通过某个元素的信息来查找这个元素
时却比较麻烦,需要逐个遍历,效率低下。
(5)无法通过更复杂、方便的方式来存储数据
2、 针对数组的这些缺陷,Java 提供了比数组更灵活、更实用的“集合框架”,可大大
提高软件的开发效率,并且不同的集合可适用于不同的场合。
二:什么是集合?
1、与变量、数组一样,集合也是存储数据的一种容器。
2、它由一组接口和类组成,位于java.util包中。

 3、它的关系结构如下:

虚线框表示接口或抽象类,实线框表示实现类,粗实线框表示常用的实现类。虚线和空
心箭头表示实现关系,虚线和实心箭头表示依赖关系(即线连接的类中使用了箭头所指向的 类)。
三、list接口:有序 & 不唯一
(1)ArraysList: ① 和数组采用相同的存储方式,在内存中开辟连续的空间,并且实
现了长度可变的数组,也称为动态数组。 ②与数组的不同的是:数组只能存储相同类型的元素但ArraysList可以存储任何类型的元素,并且会把所有元素都转换成 Object类型(本质上仍是相同数据类型)。 ③因其内存空间连续,在增加和删除非尾部元素时会造成其它元素 的移动,因此(“增删改”)效率较低。但适用于遍历和随机访问元 素 (即“查”)。
2)LinkedList: ①采用链表式的存储方式,适用于插入和删除元素,不适用于查找
元素。与ArraysList互补。

 

四、set:无序&唯一  

①它的查找效率更高      
   

注:set没有get方法

五、Iterator:对集合进行迭代遍历
  (1) 使用iterator()方法获取Iterator对象: Iterator iterator=****.iterator();
(2)hasNext():判断是否存在下一个可迭代的元素,有则返回true;
(3)next():获取要访问的下一个元素;

 六、Map:

①存储K键-V值组合;
②K键是一个set集合,不要求有序,不可重复;
③value不要求序但可重复; Map<String,List<String>> map=new HashMap<>();//复合
结构,可存放如某人的通话记录类的数据。

七.Collections 类
(1) 排序: //comparable:可比较的
若要对一个类的对象进行排序,要先让这个类实现comparable接口,再 调用方法:
int comparaTo (Object o): this>o 返回1; this<o 返回-1; this== o 返回0; 然后通过collections.sort()方法进行排序。
(2) 替换 :全部替换成同一个元素 //fill:装满,填充; collections.fill();
(3)最大最小值:max();min()
(4)查找:binarySearch();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值