Cómo actualizar el valor en MAP

Tengo un objeto de mapa testMapdeclarado como HashMap<String, Test>.

Test es una clase simple que contiene referencias a uno Objecty dos Stringvalores.

es decir,

public class Test {

  private String name;
  private String id;
  private Object val;


public Test(Object val,String name.String id){
  this.val =val;
  this.id=id;
  this.name = name;
}

Quiero actualizar el "nombre" solo en el mapa de hash "testMap". ¿Cómo puedo hacer esto?

Respuesta 1

Debe cambiar la visibilidad de su namepropiedad publico agregarle un setter:

public class Test {

  private String name;
  private String id;
  private Object val;


public Test(Object val,String name, String id){
  this.val =val;
  this.id = id;
  this.name = name;
}

public void setName(String name) {
  this.name = name;
}

Luego, para cambiar su nombre, necesita

Test test = testMap.get("key");
if (test != null) {
   test.setName("new name");
}

Si desea actualizar la clave del Mapa también, entonces necesita

Test test = testMap.remove("oldKey");
if (test != null) {
   test.setName("newKey");
   test.put("newKey", test);
}
Respuesta: 2
Test test = testMap.get("key");
if (test != null) {
   test.name = "new name";
}
Respuesta: 3
Test test = testMap.remove("name");
if(test != null)
   test.put("newname",test);
Respuesta: 4

Hay un programa de escritorio de código abierto que está escrito en Java (Swing) y utiliza una base de datos incrustada (derby). Ahora necesito desarrollar un mecanismo para que el usuario pueda sincronizar sus datos con un servidor ...

Estoy trabajando en la creación de una hoja de personaje para un juego de rol con el que estoy jugando. Calculo todos los datos que necesito para mantener la hoja de caracteres, pero no estoy seguro de si la forma en que lo hago es más económica en ...

Por ejemplo, quiero tomar el valor de un JTextField. En JFrame puedo hacer esto con un simple txtField.getText (), pero ¿cómo paso el parámetro JFrame like? validate boolean static Fields (...

Tengo este cliente, la información del servidor no es importante. La salida de este código es muy aleatoria. class Client {public static void main (String args []) lanza Exception {...