一、看招聘网,招聘条件,自己不会的可以学。
1.大数据工程师:
2.etl工程师
3.数仓工程师
4.spark工程师
二、集合框架及泛型:
掌握java
运行
maven工程
springboot
面试问题
jvm
设计模式
三、本天内容:
1.集合面试时提问超过60%。
2、集合与数组区别:数组长度固定,类型固定。 集合:集合类型不固定,长度可变。
3.集合体系结构:Collection 单列集合
–Set 无序的(存的位置),唯一的。
–HashSet
–TreeSet 排序的(大小排列)底层是二叉树。
–List 有序的,不唯一.
–ArrayList 底层是动态数组,使用场景:查询多,增删慢。
–LinkedList 底层是链表结构,使用场景:查询慢,增删快。
–Map 双列集合:
–HashMap
–TreeMap 底层是二叉树。可以排序。
4.collection接口规定的方法:
1.add(Object obj);
2.addAll(Collection c);
3.remove(Object obj);
4.clear();
5.isEmpty()
6.size();
7.contains();
8.toArray();
9.iterator();
5.list接口的方法:
6.equals方法与hashCode()方法要同时重写。
/**
* 三、去除ArrayList集合中的重复元素。
*/
package HomeWork;
import java.util.*;
public class Test3 {
private int id;
private String name;
public Test3(int id,String name){
this.id=id;
this.name=name;
}
@Override
public int hashCode() { //重写hashCode()方法
return this.id;
}
@Override
public boolean equals(Object obj) { //重写equals方法。
Test3 t=(Test3)obj;
return (this.id==t.id )&& (this.name.equals(t.name));
}
public static void main(String[] args) {
Set<Test3> hs=new HashSet<Test3>();
ArrayList<Test3> al=new ArrayList<Test3>();
hs.add(new Test3(1,"第一"));
hs.add(new Test3(2,"第二"));
hs.add(new Test3(3,"第三"));
hs.add(new Test3(1,"第一"));
hs.add(new Test3(2,"第二"));
hs.add(new Test3(3,"第三"));
hs.add(new Test3(1,"第一"));
hs.add(new Test3(1,"第一"));
hs.add(new Test3(2,"第二"));
hs.add(new Test3(1,"第一"));
al.addAll(hs);
for (Test3 t: al) {
System.out.println("用户ID:"+t.id+"\n用户名:"+t.name);
}
}
}
7.HashSet类:无序,
唯一性:去重:必须重写equals,HashCode方法。
8.TreeSet类:无序,唯一,去重,排序.
如果使用排序集合,必须实现Comparable接口,并重写ComparaTo方法。
**注意:**如何存入自定义对象:
1.为了保证唯一性,可以根据业务重写HashCode()和equals()方法。
2.为了实现排序,自定义对象必须实现Comparable接口,重写comparaTo方法。
快捷键:shift +tab
alt+鼠标左键 列编辑
shift+ctrl+/ 多行注释。