昨天没有写博客, 万分的不好意思 - - 。 也什么理由好找的,就不说什么接口了,就是懒..(要死,这么嚣张,hhahah)
今天负责的是财富绘的一个问卷的小功能,但是是自己一个人负责一个项目,而且还是微信的,hahaha 虽然小, 但是流程什么都会走到的,还是很开心的。
今天写controller的时候遇到了很多问题, 自己不了解的, 不记得的,map的遍历都不 怎么记得了???? 现在写下来 别忘记了 乖
for(String key : map.keySet()){
syso("键:"+key);
syso("值:"+map.get(key));
}
就这么简单, 原理是先获取到所有的键, 然后通过一个一个的键再去获取
好了 接下来是个严肃的事情了, 排序器, 都没学到的,但是很好用, 而且很有用啊!!!!
这次做的是一个在实体里面的排序器。先要实体实现一个接口 comparable< 实体>
然后实现他的方法compareTo(CfhTestDto o)的方法
使用的时候用
Collections.sort(list);
参数是list list的类型为int时 无需方法, 默认排序
好了 接着讲这次项目,
这次的逻辑是,先拿到一个选中选项的数组,
然后分出来每个选项有几个, 添加到一个map中
Map<String, Integer> map = new HashMap<String, Integer>();
for (String param : paramArr) {
if (map.containsKey(param)) {
map.put(param, map.get(param) + 1);
} else {
map.put(param, 1);
}
}
思路是 先新建一个map 然后遍历数组,遍历时判断map中是否有这么选项的值, 没有则新建一个 ,有则加1
就这样, 选项和数量就分出来了。
之前还在网上找map排序的东西, 笑死我了, hhaha 不过小马哥跟我说了一句经典的话, 不是为了结果而去敲代码,而是敲代码为了结果 , 不要知道结果了再去试 怎样是对的, 这样自己也不理解的代码有什么用呢???
做人 也是如此吧, hahaha 加油欧,
好了 回到主题,我这里要先把map 中的数据 遍历到 list<实体> 中去 至于怎么做的 看最这篇文章的最开始吧, 实体中还设置一个优先级的字段,因为 有可能有选项一样的可能,
选项一样的话就有一个先后了 所以这里是 D > A >C >B
这里也是在遍历map 添加到实体中的时候一起判断就好了
完成之后获取到的就是一个list<实体>
然后这里是小马哥帮我写了一个 排序器, 在实体中, 其实我表示的是,看不懂- -。
@Override
public int compareTo(CfhTestDto o) {
if(this.value != o.getValue()){
return o.getValue() - this.value;
}
return o.getSort() - this.getSort();//这里好像是 假如他们相同就按照优先级字段来排序, 这里是从大到小,
}
//果然吗,传过来的参数减本地的参数就是从大到小, 反之则是从小到大, 这里就是从小到大, 机智如我 hahaha
//有另外的条件就先判断, 然后返回的规则也是这样的,传过来的参数减本地的参数就是从大到小, 反过来就是从小到大, 恩 排序器也这么简单, 我真是太厉害了 hahahah
突然感觉, o.getSort()- this.getSort();这是从大到小, this.getSort()-o.getSort()是从小到大, 诶? 好像还真可能是这样子,
然后就获取到优先级最高的那个啦, 就是第一个偶。只要拿list中的第一个就行了。, 好了这个就做完啦, hahaha
还是很开心的~ 虽然有很多问题,而且项目不大, 但是 挺好, 慢慢来~~~
嘻嘻, 另外,你昨天为嘛没写博客心里真的没点逼数吗??恩? 看格林?逛内涵段子? 你这个人真的是,hahahah
还有, 你知道我有多想你吗, 阿花- hahaha 溜了溜了