java面试总结

一家政府外包

线上面试直接A4纸上手写代码。

①集合相关API。

List list = new ArrayList();

{

 

add:添加单个元素

remove:删除指定元素 

list.remove(0);删除第一个元素 l

ist.remove(true);//指定删除某个元素

contains:查找元素是否存在

size:获取元素个数

isEmpty:判断是否为空

clear:清空

addAll:添加多个元素

removeAll:删除多个元素

containsAll:查找多个元素是否都存在

void add(int index, Object ele):在 index 位置插入 ele 元素

Object get(int index):获取指定 index 位置的元素

int lastIndexOf(Object obj):返回 obj 在当前集合中末次出现的位置

 

}

 

集合类都可以用迭代器或者增强For循环遍历

 

②List集合如何去重

Stream流的Distinct().collect(Collects.toList);

LinkedHashSet  在new的时候构造器直接传入个LIST集合

然后再重新new一个ArrayList在构造器中把上面那个LinkedHashSet放进去。

这样就完成了去重。

 

 

 ==========================================================

项目中如何有一天端口突然被占用,如何处理?

这个我不会.....

============================================================

还有就是mysql基础语句。。我select写多了 其他忘记写了

============================================================

还有就是Map的Api。

无语了,不知道多久没用过了。

Map map = new HashMap();

map.put("1", "星期一");//k-v

map.put("1", "张三丰");//当有相同的 k , 就等价于替换

通过 get 方法,传入 key ,会返回对应的 value

map.get("1");

remove:根据键删除映射关系

map.remove("1");

size:获取元素个  

isEmpty:判断个数是否为0

containsKey:查找键是否存在

 

Map的遍历

//所有键的set集合,然后增强For根据每个key,取出value

Set keyset = map.keySet();  

//把所有的 values 取出 Collection values

map.values();

//第三组: 通过 EntrySet 来获取 k-v

Set entrySet = map.entrySet();// EntrySet<map.entry<k,v>>

===============================================

还问了后端传入参数校检

JSR-303

传入参数的时候 对需要检查的Bean的前面加个注解

 

 



 

 

还要添加个@ControllerAdvice

 

 



真是失败的一天!QAQ

 

 

 

posted @ 2023-02-08 22:18  郁郁久居于人下  阅读(31)  评论(0)    收藏  举报