【问题标题】:Compare two Type of Arraylist and return id比较两种类型的 Arraylist 并返回 id
【发布时间】:2017-03-16 04:44:28
【问题描述】:

我有两个 Arraylist。 ArrayList workerlist 和 Arraylist workernamelist

public class Workers {
    private String worker_id;
    private String worker_name;


    public String getWorker_id() {
        return worker_id;
    }

    public void setWorker_id(String worker_id) {
        this.worker_id = worker_id;
    }

    public String getWorker_name() {
        return worker_name;
    }

    public void setWorker_name(String worker_name) {
        this.worker_name = worker_name;
    }


}

Arraylist workernamelist 列表包含字符串中的所有工作人员名称。 我想搜索 ArrayList workerlist 天气,它包含 workerlist 中的 wokrername,如果它与 worker 名称匹配,那么它将返回相应的 worker id。

【问题讨论】:

  • 考虑过使用“地图”
  • 请说明你的arraylist在哪里。你能显示更多代码吗。
  • -1 你的问题很难理解,而且你没有提供你想要做什么的代码示例。尝试并发布它,解释它的作用与您希望它做什么。

标签: java android arraylist collections


【解决方案1】:

我认为我们只需要遍历整个工人列表,并且对于每个工人,将其名称与给定的工人名称进行比较,如果它们相等,则返回工人的 id。如果这样的工作人员不存在或 worker_name 为 null,您可以返回 null。

public String findWorkerId(ArrayList<Workers> workerList, String workerName) {
    if (workerList == null || workerName == null) {
        return null;
    }
    for (Workers worker : workerList) {
        if (workerName.equals(worker.getWorker_name())) {
            return worker.getWorker_id();
        }
    }
    return null;
}

【讨论】:

  • 您可以通过说明代码工作的原因或方式来大大提高答案的质量。
【解决方案2】:
public Workers searchWorkers(ArrayList workers,String worker_name){
 int len = workers.size();
 for(int i = 0; i<len; i++){
  your logic


    enter code here

 }
}

【讨论】:

    【解决方案3】:

    您需要一个 for 循环来查看数组列表,然后如果有任何匹配项显示匹配项或您想要执行的任何操作。

    for(int i =0: i< workernamelist.size(); i++){
       if(workernamelist.worker_ID = worker_ID){
          system.out.println(workerlist.worker_ID);
       }
    }
    

    【讨论】:

      【解决方案4】:

      试试这个,

          public String searchs(ArrayList list_workers,String worker_name){
           for(int i = 0; i<list_workers.size(); i++){
              if(list_workers.get(i).getWorker_name.equals(worker_name)
              {
                  String worker_id=list_workers.get(i).getWorker_id();
                  Log.d("TAG","worker_id:"+worker_id);
                  return worker_id;
              }
            }
      
            return null;
          }
      

      【讨论】:

      • 您必须检查 ArrayList 中可用的 pass worker 名称是否正确?
      【解决方案5】:

      你可以这样做:

              ArrayList<String> workernamelist=new ArrayList<>();
              ArrayList<Workers> workersArrayList=new ArrayList<>();
              for(int i=0;i<workernamelist.size();i++)
              {
                  for(int j=0;j<workersArrayList.size();j++) {
                      if (workernamelist.get(i).equalsIgnoreCase(workersArrayList.get(j).getWorker_name()))
                      {
                          String id=workersArrayList.get(j).getWorker_id();
                      }
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-21
        • 1970-01-01
        • 2017-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-24
        相关资源
        最近更新 更多