Java收集器类的使用

Java收集器类的使用,java,arraylist,java-8,collectors,Java,Arraylist,Java 8,Collectors,因此,我试图理解这一点,但将其转化为简单的陈述。但我很难做到这一点 Var是一个列表类,它保存一组值。我对代码有模糊的理解。此代码从已分配中获取尚未分配的值,并将其输入到未分配列表中。但我不明白如何把它翻译成简单的语句来帮助我更清楚地理解它 List<Var> unassigned = assigned.stream() .filter((Var grabNear).(!grabNear.isAssigned())) .

因此,我试图理解这一点,但将其转化为简单的陈述。但我很难做到这一点

Var是一个列表类,它保存一组值。我对代码有模糊的理解。此代码从已分配中获取尚未分配的值,并将其输入到未分配列表中。但我不明白如何把它翻译成简单的语句来帮助我更清楚地理解它

List<Var> unassigned = assigned.stream()
                .filter((Var grabNear).(!grabNear.isAssigned()))
                .collect(Collectors.toList());
List unassigned=assigned.stream()
.filter((Var grabNear)。(!grabNear.isAssigned())
.collect(Collectors.toList());
这就是我目前所拥有的。这是正确的吗

List<Var> unassigned = assigned;
Var grabNear;
            for(int i = 0; i < assigned.size(); ++i)
            {
                grabNear = assigned.get(i);
                if(!grabNear.isAssigned())
                {
                    unassigned.add(grabNear);
                }
            }
列表未分配=已分配;
Var-grabNear;
对于(int i=0;i
收集器。toList()
创建一个新的
列表
,因此您的代码应该如下所示,以便与Java 8代码等效:

List<Var> unassigned = new ArrayList<>();
Var grabNear;
for(int i = 0; i < assigned.size(); ++i)
{
    grabNear = assigned.get(i);
    if(!grabNear.isAssigned())
    {
        unassigned.add(grabNear);
    }
}


非常感谢。这更有意义。是的,我试了些东西,但忘了把多余的()去掉。
.filter((Var grabNear) -> !grabNear.isAssigned())
.filter(grabNear -> !grabNear.isAssigned())