2013-08-07 50 views
0

我需要创建一个链表,并用容器中的“容器”和“元素”填充它。用其他列表中的单独元素和元素填充java列表的最佳方法是什么?

这是我的代码:

public List<WebElement> getExpectedElements(){ 
    List<WebElement> list = new LinkedList<WebElement>(Arrays.asList(
      inetConnection, 
      wiredConnection, 
      phonesConnection, 
      usbConnection, 
      wifiConnection 
    )); 
    list.addAll(inetConnection.getExpectedElements()); 
    list.addAll(wiredConnection.getExpectedElements()); 
    list.addAll(phonesConnection.getExpectedElements()); 
    list.addAll(usbConnection.getExpectedElements()); 
    list.addAll(wifiConnection.getExpectedElements()); 
    return list; 
} 

是否有在java中的任何方法,使之更好(更简洁,干燥等)?

+0

你能绕过列表填充它的对象? –

+2

“更好?”是什么意思? –

+0

@SotiriosDelimanolis它不是通信对象的责任......至少在我的对象模型中... – yashaka

回答

2

你至少可以引入一个循环:

List<WebElement> containers = Arrays.asList(inetConnection, 
     wiredConnection, 
     phonesConnection, 
     usbConnection, 
     wifiConnection); 
List<WebElement> list = new LinkedList<WebElement>(containers); 
for (WebElement e : containers) 
    list.addAll(e.getExpectedElements()); 
+0

这将是更好的选择,如果我的WebElements有.getExpectedElements()方法...但只有'容器'实现HaveExpectedElements接口并有此方法...做出LIst 的结果列表对我来说是不够的,因为我需要一些WebElement对列表元素的操作。 – yashaka

相关问题