一、IDEA安装
ubuntu16.04中安装:
安装 参考博客1:https://www.cnblogs.com/zyx110/p/10666082.html
参考博客2:https://blog.csdn.net/bamian1064/article/details/101907192
window 安装:
参考一(安装):https://blog.csdn.net/wyg1973017714/article/details/105153720
参考二(IDEA校园邮箱账号激活):https://blog.csdn.net/m0_37286282/article/details/78279060
二、Java基础
(1)细节
<1>移位
- n >>> m向右移动 m 位,以 0 填充高位(当n为int 时 ,m > 32时,要模32)
- n >> 2向右移动两位,以 符号位 填充高位
(1) 各种数据结构的 增删,长度
| Queue | ArrayList | LinkedList | HashMap |
|---|---|---|---|
| add() | ----------- | ------------- | put(key,value) |
| isEmpty() | ------ | ---------- | containsKey()判断是否存在key值的映射 |
| size() | |||
| poll()删除返回 | |||
| peek()返回 |
(1)Queue的用法
(2)Java中集合与数组
2.1 最普遍的 集合 列表 数组
集合:
列表:
数组:
数组是列表的一种实现形式,最大的不同点是 索引,在内存的存储位置连不连续
- java 基本类型的包装类:
- Array 与ArrayList区别
(3)数组的排序用法Arrays.sort()
3.1 Arrays.sort(int[] a)
这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。
3.2Arrays.sort(int[] a, int fromIndex, int toIndex)
这种形式是对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序
3.3 Arrays.sort(T[] a, Comparator<? Super T> c)
用Comparator接口实现自定义排序规则
例1 找离远点最近的K个点:
Arrays.sort(points,new Comparator<int[]>(){
public int compare(int[] point1,int[] point2){
return (point1[0] * point1[0] + point1[1] * point1[1]) - (point2[0] * point2[0] + point2[1] * point2[1]);
}
});
例2 按区间的头进行排序:
//int[][] intervals
Arrays.sort(intervals,(v1,v2) -> v1[0]-v2[0]);
(4)字符串
注意:获取字符串的长度 .length() 有括号
substring(begin,end) 没有大写,而且子串不包括end位置上的
- 字符数组与string之间的转换 chrCharArray = strStringType.toCharArray(); //将字符串变量转换为字符数组 strStringType= String.valueOf(chrCharArray ); //将字符数组转换为字符串
(5)哈希表
5.1哈希冲突
(6)各种类型的转换
- string ---> Long Long.parseLong(str)
- string ---> int Integer.valueOf(segment)
Integer.parseInt(Str)
-
string ---> char[] char[] arr = S.toCharArray()
-
char[] ---> string String.valueOf(char[]);
-
ArrayList ---> int[] int[] result = list.stream().mapToInt(Integer::valueOf).toArray();
(7)HashMap
- put(key,value) 方法 将键/值对添加到 hashMap 中
put方法的返回值(返回的是value):
1.如果该key已经存放在map中,则返回其映射的旧值;
2.如果不存在,则返回null,表示没有该key对应的映射(也有可能原来的映射是key-null)