# Java语言基础与高级

Java语言基础与高级

一、类class

class Person{}
Person p1=new Person();
Person p2=p1;//引用,p1,p2指向同一块地址区域,两者成员变量同步变化

二、Java工具

2.1 Arrays工具类

Arrays.toString(数组);//数组转化为字符串String
Arrays.sort(数组);//数组升序排序void

2.2 可变参数方法

1563761709210

1563761869508

1563761974381

1563762041584

2.3 Collections工具类

1563762194889

2.3.1 sort(List list)

1563762866474

1563762994874

1563763085203

2.3.2 sort(List list , Comparator<? super T>)

1563763834709

1563763948043

2.4 Debug追踪

1563789393058

三、集合

1563584620336

3.1 Collection常用方法

1563587360986

//使用多态创建对象
Collection<E> coll=new ArrayList<>();//E为元素类型
System.out.println(coll);
Object[] array=coll.toArray();

3.2 Iterator接口:Collection extend Iterable

1563588574649

3.2.1 具体实现

1563589183100

3.2.2 增强for循环:foreach

1563590247313

1563590324001

3.3 泛型

3.3.1 泛型类:GenericClass

1563592476114

3.3.2 泛型方法:GenericMethod

1563592938964

3.3.3 泛型接口GenericInterface
a. 泛型接口定义

1563593728457

b. 泛型接口使用1

1563593958689

c. 泛型接口使用2

1563594037723

3.3.4 泛型通配符

1563594913011

1563595037306

泛型高级:泛型上下限

1563595238849

1563595311364

3.4 斗地主综合案例(单列

3.4.1 案例分析

1563617172078

1563617242949

3.4.2 代码实现

1563617368803

1563845847906

1563617550652

1563617687592

1563617759046

3.5 红黑树

1563671901676

Java红黑树->…

3.6 List集合

1563673333606

3.6.1 List集合

1563673474330

1563673546037

//List有三种遍历方式:普通for循环、while(list.hasNext())、增强for循环
for(int i=0;i<list.size();++i);

Iterator<E> it=list.iterator();
while(it.hasNext());

for(i:list);
3.6.2 ArrayList

1563675472890

当增删操作的数据量较大或需要进行多次增删操作时,不支持使用ArrayList.

3.6.3 LinkedList

1563676335707

当增删操作的数据量较大或需要进行多次增删操作时,推荐使用**LinkedList**.

3.6.4 Vector

1563676977836

相比而言,倾向于使用List.

3.7 Set集合

无序、无重复的Collection集合.

3.7.1 HashSet

1563677733878

HashSet可以用Iterator迭代器或增强for循环来遍历.

哈希值

1563757536774

HashSet存储数据的结构

1563758217879

Set集合存储元素不重复的原理

1563759482857

HashSet存储自定义类型元素

1563760199598

基类Object中带的hashCode()和equal()方法不能保证符合自定义要求,使HashSet集合中的对象唯一.

3.7.2 LinkedHashSet

1563760757325

3.8 Map集合

1563785667156

3.8.1 Map
Map接口常用方法

1563785825941

1563785958202

Map集合遍历

1563786637571

1563787033468

3.8.2 HashMap

1563787522537

3.8.3 LinkedHashMap

1563787777310

3.8.4 HashTable

1563788070193

3.9 JDK9新特性(final不变List、Set、Map集合元素填充

1563788856366

1563788968291

1563789053622

1563789083375

3.10 斗地主综合案例(双列

1563845963053

语法代码:

HashMap<Integer,String> poker=new HashMap<>();//存储牌及牌的索引
ArrayList<Integer,String> pokerIndex=new ArrayList<>();//存储牌的索引
Collections.shuffle(pokerIndex);//洗牌时只需打乱牌索引
Collections.sort(list);//排序,默认是升序

四、多线程

4.1 多线程程序

4.1.1 基本概念

并发:多个进程在同一个时间段完成(交替进行.

并行:多个进程在同一时刻进行(同时.

1563872309599

1563872748153

主线程:执行main()方法的main(主)线程

1563873587339

4.1.2 第一类多线程程序

1563874409593

1563874508957

1563874548247

1563874603362

4.1.3 多线程原理
  1. 随机性:各线程抢占CPU资源,抢占过程具有随机性,即程序执行的过程具有随机性,执行出来的结果也具有随机性.

  2. 多线程执行的内存图:

    1563875054820

4.1.4 Thread类常用方法

1563875531134

命名线程

1563875766173

4.1.5 第二类多线程程序

1563876145768

1563876264536

1563876227960

4.2 线程同步


在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值