Java集合框架

2023-12-15 13:52:59

Java集合框架

1.数组

数组本身是引用数据类型,但数组中的元素可以是任何数据类型。
数组一旦初始化完成,其长度就是确定的,数组的长度一旦确定就不能修改。

int[] arr = {1,2,3,4,5};//静态初始化
int[] arr = new int[5];//动态初始化

java.util.Arrays类能方便地操作数组
具有以下功能:
给数组赋值:通过fill方法。
对数组排序:通过sort方法,升序。

Arrays.sort(数组名);
Arrays.fill(数组名,数组);

2.List

//声明对象格式:List<引用数据类型> list = new ArrayList<>();
List<Integer> list = new ArrayList<>();

ArrayList类是一个可以动态修改的数组(与普通数组区别)

//常用方法:
add(Object element);//向列表的尾部添加指定元素
size();//返回列表中的元素个数
get(int index);//返回列表中指定位置的元素
isEmpty();//判断列表是否为空,为空返回true,否则返回false
contains(Object o);//如果列表包含指定的元素,返回true
remove(int index);移除列表中指定位置的元素,并返回被删元素

3.排序

1.数组排序
Arrays.sort(int[] a) 对数组中所有元素排序,且升序。
用Comparator接口实现自定义排序

	public static void main(String[] args)
	{
	Integer[] arr = {5,4,7,9,2,13,54,21,1};
	Arrays.sort(arr,new Comparator<Integer>){
		public int compare(Integer a, Integer b){
			return b-a;//返回值大于0交换
		}
	}
	}

lambda

	public static void main(String[] args)
	{
	Integer[] arr = {5,4,7,9,2,13,54,21,1};
	Arrays.sort(arr,(o1,o2)->o1-o2)
	}

2.集合排序
用Collections.sort(List<> arr)对集合排序
自定义排序方式与上同

4.Set

不允许出现重复元素,无序,HashSet实现类

//声明格式:
Set<String> set = new HashSet<>();
//常用方法:
add(Object element);//向Set集合中添加元素,添加成功返回true
size();//返回Set中的元素个数
remove(Object o);//删除Set集合中的元素,删除成功返回true
contains(Object o);//如果Set包含指定的元素,返回true
clear();移除Set中所有元素

5.Map

无序,HashMap实现类

//声明格式:
Map<Integer,Integer> map = new HashMap<>();
//常用方法:
put(K key,V value);//将键值映射存放Map集合中
get(Object key);//返回指定键所映射值,没有返回null,获取key返回对应值
size();//返回大小
entrySet();//将Map集合每个key-value转换为一个Entry对象并返回由所有的Entry对象组成的Set集合
getOrDefault(K  Key,Object value);方法获取指定key对应value,如果找不到key,则返设置的回默认值
entrySet使用(遍历Map):
for(Map.Entry<Integer,Integer> entry:map.entrySet())
{
	entry.getValue();
	entry.getKey();
}

6.Stack

//声明格式:
Stack<引用数据类型> stack = new Stack<>();
//常用方法:
Object puch(Object element);//把对象压入堆栈顶部
Object pop();//移除堆栈顶部的对象,并作为此函数的值返回该对象
Object peek();//查看堆栈顶部对象,不移除
boolean isEmpty();//测试堆栈是否为空

7.Queue

//声明格式:
Queue<引用数据类型> queue = new Queue<>();
//常用方法:
Boolean add(Object element);//从队尾压入元素,返回是否压入成功
Object poll();//删除并返回队头被删除的那个元素
Object peek();//查看队头对象,不移除
boolean isEmpty();//测试队列是否为空

文章来源:https://blog.csdn.net/qq_45302640/article/details/135011952
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。