集合框架——List、map实现类的其他实现类。
linkedHashmao的用处:
保存了插入记录 ,读取的时候会按照插入的顺序。一定是先插入的先得到。
总结:
1、一般普通Map一般情况下,我们用的最多的是HashMap,在Map 中插入、删除和定位元素,HashMap 是最好的选择。
2、但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。
3、如果需要输出的顺序和输入的相同,那么用LinkedHashMap 可以实现,它还可以按读取顺序来排列。因为LinkedHashMap的遍历速度只和实际数据有关,和容量无关,而HashMap的遍历速度和他的容量有关。
linkedhashmap示例代码:
for(Map.Entry<Character,Integer> set:map.entrySet()){
if(set.getValue()==1){
return set.getKey();
}
}
对于数据一直在刷新的接口在项目优化时 是不需要进行更改的,这个是最基础的,给的模板需求不是需要你去把数据写死,而是和数据库相关联的。时至今日才发现Java面向对象的优越之处。
枚举类的遍历:
public enum Duan {
ENTER("enter","进口"),
EXIT("exit", "出口");
private final String key;
private final String value;
public String getKey() {
return key;
}
public String getValue() {
return value;
}
Duan(String key, String value) {
this.key = key;
this.value = value;
}
public static String getValueByKey(String key) {
Duan[] enums = Duan.values();
for (int i = 0; i < enums.length; i++) {
if (enums[i].getKey().equals(key)) {
return enums[i].getValue();
}
}
return "";
}
}
Duan[] enums = Duan.values();
for (Duan duan : Duan.values()) {
}
以Duan.values()来遍历整个枚举类所列举的类型。
Lambda表达式在公司也是会有涉及的,在最初学习Lambda表达式时,理解一般写法之后去写lambda表达式还是会显得吃力 二来就是lambda的应用在平时的编码习惯中并不怎么会涉及。但需要对集合List遍历数据的时候采用Lambada表达式里的聚合操作会方便很多。
例子:
List<BizSxjcCqdzyb.CqdzybContent> contents = JSON.parseArray(cqdzyb.getContent(), BizSxjcCqdzyb.CqdzybContent.class);
contents = contents.stream().filter(c -> c.isDcAlarm() || c.isDzzhAlarm() || c.isSwdzAlarm()).collect(Collectors.toList());
其中的stream() filter() 是聚合操作的步骤之一
以下是对聚合操作的举例理解:
for (Hero h : heros) {
if (h.hp > 100 && h.damage < 50)
System.out.println(h.name);
}
heros
.stream()
.filter(h -> h.hp > 100 && h.damage < 50)
.forEach(h -> System.out.println(h.name));
第三,collect()其后的内容解释——collectors() 可用于将流转换成集合、聚合元素。Collectors可用于返回列表或字符串。
Collectors.toList()是获取对象所有的非空字符串返回转化为List
而Collectors.joining()是在两个String元素之间插入定界符。
在个别的接口中曾见到@ApiResponses注解的使用,其括号内的数据内容其格式和json格式差不多。
@ApiResponses:作用是用于表示一组响应
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400
message:信息,例如”请求参数没填好”
response:抛出异常的类