2017-03-16 80 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好的建議,謝謝! –