2017-03-16 84 views
-4

我有两个Arraylist。 的ArrayList workerlist和ArrayList workernamelist比较两种Arraylist并返回ID

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的天气,如果它与工作人员名称匹配,那么它将返回相应的工作人员ID。

+1

有吹捧使用“地图” –

+0

请注明哪里是你arraylist.can您展示更多的代码考虑。 –

+0

-1你的问题很难理解,你还没有提供你想要做的代码示例。做一个尝试并发布,解释它做什么与你想要它做什么。 –

回答

0
public Workers searchWorkers(ArrayList workers,String worker_name){ 
int len = workers.size(); 
for(int i = 0; i<len; i++){ 
    your logic 


    enter code here 

} 
} 
0

你需要一个for循环来查看数组列表,然后如果任何匹配显示匹配或任何你想做的事情。

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

试试这个,

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; 
    } 
+0

worker_name在Arraylist中。 –

+0

你必须在ArrayList中检查可用的工作者名称,还是不正确? – user2025187

+0

不需要检查。 –

0

你可以做这样的事情:

 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(); 
       } 
      } 
     } 
1

我认为我们只需要遍历整个工人名单,并为每名工人,进行比较时名称与给定的worker_name相同,如果它们相同,则返回该工作人员的ID。如果这样的worker不存在,或者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; 
} 
+1

您可以通过epxlaining代码的工作原理或方式来改善答案的质量。 –

+0

@RegularJoe好的建议,谢谢! –