metodos - obtener elemento arraylist java
Compruebe si existe un valor en ArrayList (6)
Cuando Array List contiene el objeto de Primitive DataType.
Use this function:
arrayList.contains(value);
if list contains that value then it will return true else false.
Cuando Array List contiene un objeto de UserDefined DataType.
Follow this below Link
¿Cómo comparar los atributos de Objetos en una ArrayList?
Espero que esta solución te ayude. Gracias
¿Cómo puedo verificar si existe un valor escrito en el escáner en una ArrayList?
List<CurrentAccount> lista = new ArrayList<CurrentAccount>();
CurrentAccount conta1 = new CurrentAccount("Alberto Carlos", 1052);
CurrentAccount conta2 = new CurrentAccount("Pedro Fonseca", 30);
CurrentAccount conta3 = new CurrentAccount("Ricardo Vitor", 1534);
CurrentAccount conta4 = new CurrentAccount("João Lopes", 3135);
lista.add(conta1);
lista.add(conta2);
lista.add(conta3);
lista.add(conta4);
Collections.sort(lista);
System.out.printf("Bank Accounts:" + "%n");
Iterator<CurrentAccount> itr = lista.iterator();
while (itr.hasNext()) {
CurrentAccount element = itr.next();
System.out.printf(element + " " + "%n");
}
System.out.println();
Es mejor utilizar un HashSet
que un ArrayList
cuando se comprueba la existencia de un valor. Los documentos Java para HashSet
dicen: "This class offers constant time performance for the basic operations (add, remove, contains and size)"
ArrayList.contains()
puede tener que iterar toda la lista para encontrar la instancia que está buscando.
Por favor, consulte mi respuesta en esta publicación .
No hay necesidad de iterar sobre la List
simplemente sobrescribir el método equals
.
Use equals
lugar de ==
@Override
public boolean equals (Object object) {
boolean result = false;
if (object == null || object.getClass() != getClass()) {
result = false;
} else {
EmployeeModel employee = (EmployeeModel) object;
if (this.name.equals(employee.getName()) && this.designation.equals(employee.getDesignation()) && this.age == employee.getAge()) {
result = true;
}
}
return result;
}
Llámalo así:
public static void main(String args[]) {
EmployeeModel first = new EmployeeModel("Sameer", "Developer", 25);
EmployeeModel second = new EmployeeModel("Jon", "Manager", 30);
EmployeeModel third = new EmployeeModel("Priyanka", "Tester", 24);
List<EmployeeModel> employeeList = new ArrayList<EmployeeModel>();
employeeList.add(first);
employeeList.add(second);
employeeList.add(third);
EmployeeModel checkUserOne = new EmployeeModel("Sameer", "Developer", 25);
System.out.println("Check checkUserOne is in list or not");
System.out.println("Is checkUserOne Preasent = ? " + employeeList.contains(checkUserOne));
EmployeeModel checkUserTwo = new EmployeeModel("Tim", "Tester", 24);
System.out.println("Check checkUserTwo is in list or not");
System.out.println("Is checkUserTwo Preasent = ? " + employeeList.contains(checkUserTwo));
}
Simplemente use ArrayList.contains(desiredElement) . Por ejemplo, si está buscando la cuenta conta1 de su ejemplo, podría usar algo como:
if (lista.contains(conta1)) {
System.out.println("Account found");
} else {
System.out.println("Account not found");
}
Editar: tenga en cuenta que para que esto funcione, deberá anular correctamente los métodos equals() y hashCode() . Si está utilizando Eclipse IDE, puede generar estos métodos abriendo primero el archivo fuente para su objeto CurrentAccount
y seleccionando Source > Generate hashCode() and equals()...
Solo usa .contains
. Por ejemplo, si estuviera comprobando si un ArrayList arr
contiene un valor val
, simplemente ejecutaría arr.contains(val)
, que devolvería un booleano que representaría si el valor está contenido. Para obtener más información, consulte los docs para .contains
.
public static void linktest()
{
System.setProperty("webdriver.chrome.driver","C://Users//WDSI//Downloads/chromedriver.exe");
driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://toolsqa.wpengine.com/");
//List<WebElement> allLinkElements=(List<WebElement>) driver.findElement(By.xpath("//a"));
//int linkcount=allLinkElements.size();
//System.out.println(linkcount);
List<WebElement> link = driver.findElements(By.tagName("a"));
String data="HOME";
int linkcount=link.size();
System.out.println(linkcount);
for(int i=0;i<link.size();i++) {
if(link.get(i).getText().contains(data)) {
System.out.println("true");
}
}
}