情况1:
我有List
一系列可以重复的元素。
List<String> nombre;
nombre.add("Persona 1");
nombre.add("Persona 1");
nombre.add("Persona 1");
nombre.add("Persona 2");
nombre.add("Persona 3");
...
使用 Lambda 表达式是否可以在不重复的情况下获取元素?
离开:
Persona 1
Persona 2
Persona 3
(已编辑)
案例二:
public class Persona {
private String nombre;
private int edad;
Persona(String nombre, int edad) {
this.nombre=nombre;
this.edad=edad;
}
... getter y setter
}
List<Persona> p;
p.add(new Persona("Persona 1", 20));
p.add(new Persona("Persona 1", 15));
p.add(new Persona("Persona 1", 12));
p.add(new Persona("Persona 2", 50));
p.add(new Persona("Persona 3", 20));
离开
Persona 1
Persona 2
Persona 3
在Persona 1
我不在乎它返回什么对象的情况下。
第 3 版
public class ConsultaBean {
private static final long serialVersionUID = 6269862033023559153L;
//Datos Cabecera
private String negociador;
private String descripcion;
private String clave;
//Detalle
private Date fecha;
private String hora;
public String getNegociador() {
return negociador;
}
public void setNegociador(String negociador) {
this.negociador = negociador;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getClave() {
return clave;
}
public void setClave(String clave) {
this.clave = clave;
}
public Date getFecha() {
return fecha;
}
public void setFecha(Date fecha) {
this.fecha = fecha;
}
public String getHora() {
return hora;
}
public void setHora(String hora) {
this.hora = hora;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((clave == null) ? 0 : clave.hashCode());
result = prime * result + ((descripcion == null) ? 0 : descripcion.hashCode());
result = prime * result + ((fecha == null) ? 0 : fecha.hashCode());
result = prime * result + ((hora == null) ? 0 : hora.hashCode());
result = prime * result + ((negociador == null) ? 0 : negociador.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ConsultaBean other = (ConsultaBean) obj;
if (clave == null) {
if (other.clave != null)
return false;
} else if (!clave.equals(other.clave))
return false;
if (descripcion == null) {
if (other.descripcion != null)
return false;
} else if (!descripcion.equals(other.descripcion))
return false;
if (fecha == null) {
if (other.fecha != null)
return false;
} else if (!fecha.equals(other.fecha))
return false;
if (hora == null) {
if (other.hora != null)
return false;
} else if (!hora.equals(other.hora))
return false;
if (negociador == null) {
if (other.negociador != null)
return false;
} else if (!negociador.equals(other.negociador))
return false;
return true;
}
}
使用流很容易:
distinct() 基于所讨论列表的类类型的 equals 方法工作。
如果我了解您的情况,您希望显示不重复的谈判者值: