簡體   English   中英

如何訪問另一個類的arraylist

[英]how to access arraylist of another class

假設我有一個存儲類 Employee 的 Arraylist 的類管理器說:

class Manager {

    ArrayList<Employee> x = new ArrayList<>();
}

現在是否可以通過 Employee 類中的某種方法獲取 Manager 對象的名稱? 換句話說,使用元素查找 Arraylist 的名稱。

如果您想從員工對象中獲取經理對象,那么您必須實現雙向映射。 在員工類中也添加經理屬性。

據我了解,問題是找到給定員工的經理。 為此,您需要一份所有經理的列表以及您搜索經理的員工的詳細信息。

class Manager
    {
       private String name;
       private List<Employee> employees;

       public List<Employee> getEmployees()
       {
         return this.employees;
       }

       public String getName()
       {
          return this.name;
       }
    }

如果您使用的是 Employee 的現有對象(您從 Manager 對象中的員工列表中獲取 Employee 對象),則以下方法將起作用。

class FunctionClass{
   public static void main(String[] args)
   {
      List<Manager> allManagers = getAllManagers();
      Employee currEmployee = getCurrentEmployee();

      for( Manager manager : allManagers )
      {
         if( manager.getEmployees().contains( currEmployee ) )
         {
            System.out.println( manager.getName() );
            break;
         }
      }
   }
}

如果您從提供的數據創建 Employee 對象,則上述方法將不起作用。 您必須遍歷每個經理的所有員工。

class FunctionClass{
       public static void main(String[] args)
       {
          List<Manager> allManagers = getAllManagers();
          Employee currEmployee = getCurrentEmployee();

          for( Manager manager : allManagers )
          {
             for( Employee emp: manager.getEmployees() )
             {
                if( /*compare if emp and currEmployee equal*/ )
                {
                  System.out.println( manager.getName() );
                  break;
                }
          }
       }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM