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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!