发表于: 2018-01-12 19:17:28
1 660
今日完成:
应前端的要求加了一个接口,看了三十页书。
明日计划:
看书补基础。
成果:
前端要加一个获取已被用户使用的所有角色名的接口,用于动态查询用户时提供角色名下拉表的数据,我使用的方法是先获取所有用户的id,然后获取所有用户对象,之后创一个HashSet,因为之前了解过set类型的值不可重复,然后遍历所有用户对象把他们的角色名都add进set中,然后惊喜地发现他不只是值唯一,还有toString是数组的特性,和hashmap的区别就是不用键值对的方式展示,这样连转换都省了。
//获取所有被引用角色
@RequestMapping(value = "/a/u/user/roleName", method = RequestMethod.GET)
public String roleNameOfAllUser(HttpServletRequest request,
HttpServletResponse response, ModelMap model) throws ServiceException, ServiceDaoException {
log.info("get all roleName which have been used by user");
try {
List ids = userService.getUserIds(0, Integer.MAX_VALUE);
List<User> userList = userService.getObjectsByIds(ids);
log.info("get " + userList.size() + " users,Ids is " + ids);
Set<String> roleNameSet = new HashSet<String>();
for (User user : userList) {
roleNameSet.add(user.getRoleName());
}
model.addAttribute("code", 0);
model.addAttribute("allRoleName",roleNameSet);
return "pagescarrots-youneedboy-user-service/role/json/allRole";
} catch (Throwable t) {
log.error(t.getMessage());
log.error("get all roleName which have been used by user error");
model.addAttribute("code", -100000);
return "pagescarrots-youneedboy-user-service/data/json";
}
}
直接就是数组,嘻嘻。
看书看了ArrayList和LinkedList的结构和实现,其中ArrayList的实质就是一个Object[],里面的方法只不过就是把对数组的操作封装了起来,主要是Iterator没用过的东西,因为我遍历都是直接for(Object object:objects)来的,迭代器没有接触过,但是看了结构发现迭代器应该会快一些。
linkedlist还没看到,只知道他是一个跟着一个的引用,左引用右引用的,和array的性能优缺点互补,一个插入快(link),一个查询快(array)。
明日计划:
还是做codereview,复盘中我的模块的步骤基本完成。
禅道:
http://task.ptteng.com/zentao/my-task.html
评论