Olá amigos tenho uma dúvida e gostaria de uma ajuda para resolver da forma correta.
Elaborei um exemplo :
Abaixo tenho uma lista preenchida com 5 objetos Contrato e estes objetos a propriedade id_agrupamento.
Preciso dividir esta lista utilizando o id_de agrupamento como parametro de filtro.
A saida deveria ser :
Uma lista contendo os objetos c1 e c2
Uma lista contendo os objetos c3 e c4
Uma lista contendo o objeto c5
Como devo fazer para que a variavel saida abaixo receba estas 3 listas?
Object saida= contratos.stream().filter(???);
package aaamain;
import java.util.ArrayList;
import java.util.stream.Collectors;
public class Testes {
public static void main( String[] args ){
ArrayList<Contrato> contratos = new ArrayList<Contrato>();
Contrato c1 = new Contrato(1, 1);
Contrato c2 = new Contrato(2, 1);
Contrato c3 = new Contrato(3, 2);
Contrato c4 = new Contrato(4, 2);
Contrato c5 = new Contrato(5, 3);
contratos.add(c1);
contratos.add(c2);
contratos.add(c3);
contratos.add(c4);
contratos.add(c5);
Object saida= contratos.stream().filter(???);
}
}
class Contrato {
int id_produto;
int id_contrato;
public Contrato( int id_produto , int id_contrato ){
super();
this.id_produto = id_produto;
this.id_contrato = id_contrato;
}
public int getId_produto(){
return id_produto;
}
public void setId_produto( int id_produto ){
this.id_produto = id_produto;
}
public int getId_contrato(){
return id_contrato;
}
public void setId_contrato( int id_contrato ){
this.id_contrato = id_contrato;
}
}