Recientemente comencé a aprender Java después de descubrir que Python no podía ejecutar el programa que estoy creando lo suficientemente rápido.
Mi ArrayList se llama SO y está llena de objetos de la clase Organismo (esta clase tiene una propiedad llamada inmunidad). Necesito cambiar la propiedad de inmunidad de mis objetos de Organismo.
En Python, para hacer referencia a un elemento de una lista, simplemente usaría:
SO[index].immunity = AnInteger
pero en Java esto no parece funcionar. ¿Cómo hago lo mismo en Java?
Respuestas
1 para la respuesta № 1Si quieres un ArrayList
de Organism
Clasifique la forma de definirlo, suponiendo que realmente tenga una clase Organism
es:
ArrayList<Organism> organisms = new ArrayList<>();
Entonces tú puedes add
Organismos a ArrayList, y acceda a ellos haciendo:
organisms.get(<index>);
dónde <index>
es el índice del elemento en ArrayList
Para cambiar el valor de la propiedad de inmunidad del organismo en el índice 3, suponiendo que sea público, se haría:
organisms.get(3).inmunity = <new value>;
Nota: get () solo recupera el objeto de la lista. De ninguna manera cambia nada. El cambio ocurre cuando a la inmunidad se le asigna un nuevo valor.
La última línea también podría escribirse así:
// Retrieve the object in the list
Organism org = organisms.get(3);
// Change the inmunity value
org.inmunity = <new value>;
Como @Zabuza dice en sus comentarios, si necesita reemplazar el organismo en la lista por una instancia diferente, debe usar:
organisms.set(3,<another Organism instance>);