皮皮安学Java第十八天

写在前面

微信小程序那边结束了,虽然做的…啥也不是,但终于还是结束,接下来我就可以花点时间看看感兴趣的东西了。我可以看看数据结构和算法呀,可以学学matlab呀,可以看看JS,JQ啊,可以看看bootstrap啊,看看一些书呀,学学高数…美滋滋。这周主要学了集合的一些知识,话不多说,直接上总结。

最近所学

2.2局部内部类
也称为方法内部类,即定义在方法中的内部类。
只能在外部类的方法中使用。
在jdk8以前,只能访问final变量。

2.3静态内部类
使用static修饰的内部类。

2.4匿名内部类
没有名字的内部类,因为此类只需要用使用一次,没有起名的必要。
例: 接口名 对象名 = new 接口名(){
匿名内部类
}

集合

一、简介
1.概念:简单的来说,集合就是一组数据,储存多个元素的数据结构。
2.存储结构
顺序存储
链式存储

			顺序存储:将集合中的元素依次存放的某个区域中,称为顺序储存,在内存中分配的空间是连续的。
					特性:访问效率高,插入和删除效率低。

		   链式存储:在内存中分配的空间不连续
		   			分为:单向链式存储
		   					   双向链式存储
		   			特性:插入和删除效率高,访问效率低。

3.集合类和接口
相关的API都在java.uitl
collction接口 对象集合
Map接口 键值对集合

	Collection
			List接口				ArratList		LinkedList      		Vector
			Set接口				HashSet		TreeSet

	Map
			HashMap
			Hashtable		properties

二、List
特点:有序,可重复
实现类:ArrarList LinkedList Vector Stack

1.ArrayList
ArrayList实现了长度可变的数组
本质上就是使用数组实现的
存储结构:顺序结构
特点:访问元素时效率高,而插入或删除效率低,导致后面的元素都会移动。

2.Vector
Vector和ArrayList非常相似,都是使用数组实现的。

	Vector:执行的效率低,影响性能。
				同步的,线程安全的,方法基本被synchronized关键字修饰的
	ArrayList
				异步的,线程不安全的。
				相比较Vector效率高。

遍历:for
foreach
Iterator
Enumeration枚举
Enumeration e = num.elements();
while(e.hasMoreElements()){
Integer num = e.next.Element();
sout(num+"\t");
}
Vector已过时,不建议使用。

常用方法
add() 添加元素
set() 修改
remove() 删除
get() 获取
size() 集合大小/长度 即元素个数
isEmpty() 是否为空
indexOf() 指定元素在集合中的索引
contains() 是否包含指定的元素
clear() 清空
toArray() 转为数组

	asList			将数组转换为list
	例				String[]  arr  =  {"aaa","bbb","ccc"};
						List<String> list2 = Arrays.asList(arr);
						List<String> list3 = Arrays.asList("aaa","bbb");

遍历集合:for
foreach
使用Iterator迭代器,用于遍历集合中所有的元素的一种类型(只要实现了Iterator接口的类都可以使用迭代器进行遍历)
Iterator it = list.iterator();
while(it.hasNext()){
Integer num = it.next();
sout(num+"\t");
}

3.Stack 栈
Stack继承自Vector
特点:先进后出(First In Last Out)
在这里插入图片描述
常用方法:具有List的所有方法,同时具有操作栈的方法。

	push()		入栈
	pop()		出栈
	peek()		查看栈顶的元素

4.LinkedList
需要频繁的插入和删除元素时可以使用LinkedList
数据结构:双向链式存储
特点:插入或删除元素时效率高

常用方法:具有List的所有方法,同时具有额外的方法
addFirst() 在首部添加
addLast() 在末尾添加
getFirst() 返回第一个
getLast() 返回最后一个
removeFirst() 删除第一个
removeLast() 删除最后一个

LinkedList是一种队列,实现Queue接口,所有实现Queue的类都是一个队列。
队列的特点:先进后出
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_46178251/article/details/106732670