【无标题】

Arrays

作用:用于操作数组
常用方法:
	把数组内容转换为一个字符串:String static toString(数组)
	数组排序的方法:
		基本数据类型的数组:static void sort(数组)
		引用数据类型的数组:
			JavaBean实现Comparable<泛型>接口,重写方法;
			static void sort(数组,new Comparator<泛型>比较器,重写规则方法。
		数组元素查找的方法:int binarySearch(数组,元素);

Lambda(重点)

作用:简化匿名内部类-->函数式接口:这个接口有且只有一个抽象方法(注解:@FunctionalInterface)。
格式:(参数)-->{方法体};

方法引用

作用:简化Lambda表达式-->方法体只有一句代码。
格式:
	静态方法引用:类名::方法名。
	成员方法引用:对象::方法名。
	特定类型方法引用:类型::方法名;-->方法上一定是有多个参数,然后第一个参数,作为对象去调用实现的方法,后面的参数作为入参。
	构造器引用:类名::new

正则表达式

作用:判断数据是否合法、从文本中爬取数据
规则:
	[ 任意内容 ]-->代表一个符号
	\\d ---->代表数字
	\\w --->数字、字母、下划线
	.  ---- > 任意的符号,除了\n
	熟数量词:
		{1,}--->至少 出现1次或多次
		{1,3}--->至少出现1次,最多出现3次
		{5}---->只能出现5次
	0 ---->分组
	| ----->或者
	例如检查手机号码是否符合标准规则
	//例如检查手机号码是否符合标准规则
 // 检查手机号码
//    手机格式: 首位为1,中间是[3-9]的数字,后面9个都是数字
    public static boolean checkPhoneNumber(String phone){
        String str="1[3-9]\\d{9}";
        return phone.matches (str);
    }

Collection

地位:属于单列集合,是所有单列集合的组宗
常用方法:
	添加:add(E e)
	删除:remove(Object e)
	是否包含指定元素:contains(Object o)
	集合的大小:size();
	获取迭代器的方法:Interator iterator();
遍历方式:
	使用迭代器:
		1、获取迭代器-----Interator<泛型> it=集合.iterator();
		2、使用while循环遍历,条件 it.hasNext()---判断是否有数据
		3、在循环中获取数据---it.next();
	增强for循环:
		格式:for(数据类型 变量名:数组/集合){....}
		原理:底层其实就是迭代器
		Lambda---->集合.forEach( (s)-->{ } )

List

特点:存取有序、可重复、有索引
特有方法:
	增加:add(int index,E e);
	删除:remove(int index);
	修改:set(int index,E e);
	获取 : E get(int index);
遍历方式:
	使用迭代器:
		1、获取迭代器--->Interator<泛型> it=集合.iterator();
		2、使用while循环遍历,条件 it.hasNext()--判断是否有数据
		3、在循环中获取数据 --->it.next();
	增强for循环:
		格式:for(数据类型 变量名:数组/集合){  };
		原理 :底层其实就是迭代器
	Lambda:
		集合.forEach((s)->{ })
	普通for循环:
		for(int i=0;i<集合.size();i++){ 集合.get(i)};
ArrayList的原理:
	存储数据的数据结构:数组、查询快、增删慢
	使用场景:大量查询、少量增删(不适合用于大量数据的增删)
LinkedList的原理:
	数据结构:双链表、查询慢、增删快
	特有方法:
		往头部添加元素:addFirst(E e)
		往尾部添加元素 :addLast(E e)
		删除头部元素:removeFirst();
		删除尾部元素:removeLast();
		获取头部元素:getFirst();
		获取尾部元素:getLast();
		压栈-- push()---就是addFirst()
		出栈---pop()---就是removeFirst();
	使用场景:用于大量数据的增删
数据结构:
	数组:查询快、增删慢
	链表:增删快、查询慢
	双链表:增删快,查询慢
	红黑树:增删改查都快
	队列:先进先出
	栈:先进先出

Set

特点:
	无序、不重复、无索引。
分类:
	HashSet:
		特点:无序、不重复、无索引
		底层原理:
			JDK之前:哈希表:数组+链表
			JDK之后:哈希表:数组+链表+红黑色
			添加数据的流程:
				1、根据hash值计算它在数组中的位置
				2、看到当前位置是否有值,如果没有,就直接保存
				3、如果有值,就使用equal方法进行判断,如果结果为false,就保存元素
				4、结果如果为true,就不存放元素
				5、自定义类型:属性相同时代表同一个对象
					1、重写hashCode方法
					2、重写equals方法
			使用场景
				存放元素不重复的,增删改查都比较快的时候。
	LinkedHashSet:
		特点:
			有序、无索引、不重复;
		底层原理:
			JDK之前:哈希表:数组+链表+双链表【记录添加的顺序】
			JDK之后:哈希表:数组+链表+红黑树+双链表【记录添加的顺序】
			添加数的流程:
				1、根据hash值计算它在数组中的位置
				2、看当前位置是否有值,如果没有,就直接保存
				3、如果有值,就使用equals方法进行判断,如果结果为false,就保存元素
				4、结果如果为true,就不存放元素
				自定义类型:
					属性相同时代表同一个对象:重写equals和hashCode方法。
		使用场景:需要元素不重复,又需要有顺序的时候
	TreeSet
		特点:排序、无索引、不重复
		底层原理:红黑树
		实现自定义类型排序:
			方式一:JavaBean实现Comparable接口,重写方法比较规则
			方式二:在TreeSet的构造器中重写Comparator的方法
		使用场景:希望集合的内部排序,不重复
		去重标准:比较的值,如果相同,就自动去重

可变参数

格式:数据类型...变量名
好处:灵活接收参数,可以接收0到多个参数,也可以接收数组
注意事项:
	一个方法只能定义一个可变参数
	可变参数只能放在形参列表的最后

Collections(工具类)

作用:用于操作Collections的工具类
常用方法:
	添加多个数据:static boolean addAll(Collection col,T..a)
	打乱List的内容:static void shuffle(List list)
	排序:static void sort(List list)
	自定义排序:static void sort(List list,Comparator c)

Map

概念:双列集合
特点:无序、不重复、无索引
分类:
	HashMap
		特点:无序、不重复、无索引
		底层原理:hash表,jdk8之前:数组+链表。8之后:红黑树
		自定义类型的去重:hashCode()和equals();
	LinkedHashMap
		特点:有序、不重复、无索引
		底层原理:Hash表:jdk8之前,数组+链表+双链表。8之后:加多红黑树
	TreeMap
		特点:可排序、不重复、无索引
		底层原理:红黑树
		如何实现排序:
			方式一:JavaBean实现Comparable接口,重写方法
			方式二:在TreeMap的构造器中,指定比较规则
常用方法
	增加数据:put(键,值)
	删除数据:remove(键)
	查询数据:get(键)
	集合大小:size()
	判断是否有指定的键:containsKey(键)
	判断是否有指定的值:containsValue(值)
	获取所有的键:Set KeySet();
	获取所有的值:Collection values()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值