Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的集合调用方法_Java_Rcp - Fatal编程技术网

Java中的集合调用方法

Java中的集合调用方法,java,rcp,Java,Rcp,问题是。 我有一个类,它有一个子类类型的集合 public class classOne{ private Collection<classTwo> ...; } 公共类一{ 私人收藏。。。; } 现在我想将第二个元素的值存储为object private ComboBoxViewerCellEditor cellEditor = ComboBoxViewerCellEditor((Composite) getViewer().getControl(),SWT.READ

问题是。 我有一个类,它有一个子类类型的集合

public class classOne{
    private Collection<classTwo> ...;
}
公共类一{
私人收藏。。。;
}
现在我想将第二个元素的值存储为object

private ComboBoxViewerCellEditor cellEditor =  ComboBoxViewerCellEditor((Composite) getViewer().getControl(),SWT.READ_ONLY);
classOne one = (classOne) element;
Collection<classTwo> contactList = one.getClassTwo();
celleditor.setInput(contactList.getName());
private ComboBoxViewerCellEditor cellEditor=ComboBoxViewerCellEditor((复合)getViewer().getControl(),SWT.READ_);
classOne=(classOne)元素;
Collection contactList=one.getClassTwo();
setInput(contactList.getName());
类似这样的东西,但最后一行代码是不正确的,因为这不起作用

因此,为了总结如何从存储为对象列表的第二类的所有实例中获取getter,您需要一个循环:

List<String> names = new ArrayList<>(); 
for (ClassTwo c2 : contactList) {
    names.add(c2.getName());
}
List name=new ArrayList();
用于(第二类c2:联系人列表){
name.add(c2.getName());
}
或者,在Java 8中:

List<String> names = contactList.stream()
                                .map(ClassTwo::getName)
                                .collect(Collectors.toList());
List name=contactList.stream()
.map(Class2::getName)
.collect(Collectors.toList());

在类1中,只需引入getter方法,如公共集合getAllClassTwo(){return classTwoList;},并在调用方类中引入getter方法,如1.getAllClassTwo();我有它,它返回一个对象的集合。但是我需要列表中每个对象的一个值。因此,不是按原样返回集合,而是返回新的ArrayList(classTwoList);或者最好将集合的类型定义为列表,而不是集合,或者在客户端使用上述方法将其转换为列表。