发表于: 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






返回列表 返回列表
评论

    分享到