完成了求职人界面岗位推荐匹配度问题。
public void selectPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("selectPost..."); BufferedReader br = request.getReader(); String params = br.readLine(); PostBean postBean = JSON.parseObject(params, PostBean.class); Seeker seeker = seekerService.selectByName(postBean.getUsername()); // List<Post> posts = postService.selectPost(); List<Post> posts = postService.selectPostByCondition(postBean.getPost()); Map<Post,Double> postIntegerMap =new HashMap<>(); for (int i = 0; i < posts.size(); i++) { Double cosineSimilarity = MyTextComparator.getCosineSimilarity(seeker.getSkill(), posts.get(i).getSkillRequire()); postIntegerMap.put(posts.get(i),cosineSimilarity); } List<PostValue> hsahpaixu = Hashmap.hsahpaixu(postIntegerMap); String _currentPage = request.getParameter("currentPage"); String _pageSize = request.getParameter("pageSize"); int currentPage = Integer.parseInt(_currentPage); int pageSize = Integer.parseInt(_pageSize); List<PostValue> postBypage=new ArrayList<>(); int length=(currentPage-1)*pageSize+pageSize; if(length>hsahpaixu.size()) length=hsahpaixu.size(); for (int i = (currentPage-1)*pageSize; i <length ; i++) { postBypage.add(hsahpaixu.get(i)); } PostBeenSum<PostValue> postBeenSum =new PostBeenSum<>(); postBeenSum.setRows(postBypage); postBeenSum.setTotalCount(hsahpaixu.size()); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postBeenSum); //System.out.println(jsonString); response.getWriter().write(jsonString); }
public static List<PostValue> hsahpaixu(Map<Post, Double> map) { //将map.entrySet()转换成list List<Entry<Post, Double>> list = new ArrayList<Entry<Post, Double>>(map.entrySet()); Collections.sort(list, new Comparator<Entry<Post, Double>>() { //降序排序 @Override public int compare(Entry<Post, Double> o1, Entry<Post, Double> o2) { //return o1.getValue().compareTo(o2.getValue()); return o2.getValue().compareTo(o1.getValue()); } }); // List<Post> posts =new ArrayList<>(); List<PostValue> postValues=new ArrayList<>(); for (Entry<Post, Double> mapping : list) { PostValue postValue=new PostValue(); postValue.setPost(mapping.getKey()); postValue.setValue(mapping.getValue()); postValues.add(postValue); // posts.add(mapping.getKey()); System.out.println(mapping.getKey() + ":" + mapping.getValue()); } return postValues; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!