day09 常用工具类&包装类&集合——List、Set

2023-02-13,,,,

day09

常用工具

java.lang.Math数值运算

基本数值运算,如初等函数、对数、平方根和三角函数

	//最大最小值
Math.max(12, 21);
Math.min(2, 3);
//绝对值
double d = Math.abs(-3.1415);
//圆周率
System.out.println(Math.PI);
//返回a的b次方pow(a,b)
double d1 = Math.pow(2, 10);
System.out.println(d1);

java.util.Date日期

Date date = new Date();
System.out.println(date);
//日期格式化
SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String string = sFormat.format(date);
System.out.println(string);

java.util.LocalTime;

	LocalDateTime ldt = LocalDateTime.now();

	System.out.println(ldt);
System.out.println(ldt.getYear());//获取年份
System.out.println(ldt.getMonth());//月名字
System.out.println(ldt.getMonthValue());//几月
//自定义一个日期
LocalDate lDate = LocalDate.of(2014, Month.MAY, 12);

java.util.Arrays

//比较数组中的元素,按顺序比较

	boolean tar = Arrays.equals(a, b);
//如果a{1,2,3}b{1,2,3}返回true,如果a{3,2,1}b{1,2,3}返回false
//打印数组
System.out.println(Arrays.toString(arr));

数组扩容

	int[] a = {1,2,3,4};
//数组扩容copyOf(原数组, 新数组的长度)
int[] b = Arrays.copyOf(a, 6);
System.out.println(Arrays.toString(b));
//b = {1,2,3,4,0,0}

包装类

byte——Byte

short ——Short

int ——Integer

long——Long

float——Float

double——Double

char——Character

boolean——Boolean

装箱、拆箱

方法:

valueOf()将其他类型转换成整数类型

原理:Integer中缓存着[-128,127]数组,如果传入的参数在这个范围之内,valueOf()会直接返回缓存中的数,否则,如果传入的参数超过这个范围,先创建一个Integer对象再返回值

String str = "123";

Integer b3 = Integer.valueOf(str);

syso(b3+2)

compare(a,b)比较两数大小

int res = Integer.compare(a,b);
//a=b 0
//a>b 1
//a<b -1/

数字转字符串toString(num)

String s = Integer.toString(2);
System.out.println(string);

集合

ctrl shift o 清除不用jar包

java.util.Collection

Collection只能存储引用类型

List< E >

List集合的特点:

集合中的元素是有序的,允许重复的

ArrayList

ArrayList是实现了基于动态数组的数据结构,再未声明长度的情况下,默认长度是10,数据填满后会自动扩充原长度的50%

list中的元素是有序并且可以重复的

//创建一个list集合
List<String> list = new ArrayList<>(); //添加元素
list.add("111");
//添加元素到指定位置
list.add(1,"222");
list.add("111");
list.add("444"); //获取元素的值
String v = list.get(1); //集合长度,集合中存储元素的个数
list.size(); //遍历
//直接打印
System.out.println(list);
//普通for循环遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//foreach遍历
for (String string : list) {
System.out.println(string);
}

LinkedList基于链表的

对于从头部和中间插入,链表插入快于数组

对于尾部插入,数组插入快于链表

ArrayList和LinkedList的区别

1.ArrayList是实现了基于动态数组的数据结构,在未声明长度的情况下,默认长度是10

数据填满之后会自动扩充原来的50%:10满了之后扩充到15

2.LinkedList是基于双向链表的数据结构

3.ArrayList在尾端插入和访问数据时的效率高于LinkedList,因为LinkedList添加删除数据需要移动指针

4.LinkedList对于中间插入或者头部插入时效率高于ArrayList,因为LinkedList添加删除数据不需要移动数据

Set

集合特点:集合中的元素是无序的,不可重复的

方法

添加元素

Set<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
set.add(3);

长度

set.size();

移除指定元素

set.remove(2);

获取元素foreach

for(Integer int1 : set){
System.out.println(int1);
}

清空集合

set.clear();

Set集合与List集合的区别

Set集合元素是无序而且不可重复的,List集合是有序并且可以重复的

day09 常用工具类&包装类&集合——List、Set的相关教程结束。

《day09 常用工具类&包装类&集合——List、Set.doc》

下载本文的Word格式文档,以方便收藏与打印。