猿问

将列表拆分为子列表并将它们逐个传递给算法

我有一个类型字符串列表,其中包含表单中的多个项目


[Cid:0001,Jid:439,java,unit testing]

[Cid:0001,Jid:439,java,jsp,xml,javascript,servlet,html]

[Cid:0001,Jid:245,ui development,jquery,javascript,html,ajax]

[Cid:0002,Jid:312,team,goals,territory]

等等


由于有很多项目,我需要根据Cid和Jid对项目进行分组。例如,上面的前两行应该是一个组,因为它具有相同的Cid和Jid。


我需要将每个组一个接一个地传递给一个采用JavaRDD格式作为输入的算法。每个列表都使用spark中的parallelize函数进行并行化。


List<List<String>> mainList = new ArrayList<>();

for (Resume r : resumes) {

  List<String> subList = new ArrayList<>();

  for (String temp : hashSet) {

    if (temp.equalsIgnoreCase(r.getJid() + r.getCid())) { 

      subList.add(r.toString());

      mainList.add(subList);


烙印99
浏览 429回答 2
2回答

一只萌萌小番薯

这是我的代码片段: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List<List<String>>&nbsp;mainList&nbsp;=&nbsp;new&nbsp;ArrayList<>(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List<Resume>&nbsp;resumes&nbsp;=&nbsp;new&nbsp;ArrayList<Resume>(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map<String,List<String>>&nbsp;map&nbsp;=&nbsp;new&nbsp;HashMap<String,List<String>>(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(Resume&nbsp;r&nbsp;:&nbsp;resumes)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List<String>&nbsp;subList&nbsp;=&nbsp;new&nbsp;ArrayList<>(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;subList.add(r.toString()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(map.get("JID"+r.getJid()+"CID"+r.getCid())!=null)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;subList.addAll(map.get("JID"+r.getJid()+"CID"+r.getCid())); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.put("JID"+r.getJid()+"CID"+r.getCid(),subList); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mainList.add(subList); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}我曾经&nbsp;"JID"+r.getJid()+"CID"+r.getCid()考虑过这种情况JId:212和Cid:456JId:2124和Cid:56因为它们不应该组合在一起。添加密钥r.getJid() + r.getCid()无法帮助您考虑这种情况
随时随地看视频慕课网APP

相关分类

Java
我要回答