2017-04-19 39 views
0

這是代碼如何從ArrayList中包含的對象獲取所有子字段?

public class SomeObject 
{ 
    private String _name; 

    public String get_name() { 
     return _name; 
    } 
} 

public class SomeObjectContainer { 
    private ArrayList<SomeObject>_objects; 

    public ArrayList<SomeObject> get_objects() { 
     return _objects; 
    } 
} 

我的問題:

  1. 我想實現SomeObjectContainer一些方法返回一個數組將包含所有的_objects._name。 有沒有一些簡單的方法來做到這一點,而無需創建新的數組,並掃描_objects集合中每個對象的所有__對象並掃描所有_objects?

  2. 如果我已經有這個數組[字符串] - 有沒有什麼辦法(可能在Java語法),使我的工作更容易找到如果這個數組包含一些特定的字符串?

回答

1

有您必須使用java的8個流像下面一個簡單的方法:

List<String> names= someObjects.stream().map(SomeObject::get_name).collect(Collectors.toList()); 

,如果你想知道這個列表中包含特定字符串做如下:

if(names.contains("some string")) 
{ 
    //do what you wanna do here 
} 
相關問題