¿Cómo se convierte una sola columna de una matriz 2d en una ArrayList?

¿Cómo convierto una sola columna de una matriz 2d en una ArrayList?

Tengo este codigo:

        for (int i = 0; i < lordStats[0].length; i++)
        troopList.add (lordStats[i][2]);
//trooplist is a list and lordstats is a 2d array, they are both Strings

pero me da muchos errores, ¿cómo hago esto?

Estos son mis errores, todo lo que puedo descubrir es que algo en mi matriz está estropeado. Tenga en cuenta que sin estas 2 líneas de código, el programa funciona bien.

Línea 32-33

    for (int i = 0; i < lordStats[0].length; i++)
    troopList.add (lordStats[i][2]);

errores:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at arsenalLord.arsenalLordGui(arsenalLord.java:32)
    at arsenalLord.loader(arsenalLord.java:18)
    at siegeText$1.actionPerformed(siegeText.java:41)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6373)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6138)
    at java.awt.Container.processEvent(Container.java:2085)
    at java.awt.Component.dispatchEventImpl(Component.java:4735)
    at java.awt.Container.dispatchEventImpl(Container.java:2143)
    at java.awt.Component.dispatchEvent(Component.java:4565)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
    at java.awt.Container.dispatchEventImpl(Container.java:2129)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4565)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
    at java.awt.EventQueue.access$000(EventQueue.java:85)
    at java.awt.EventQueue$1.run(EventQueue.java:638)
    at java.awt.EventQueue$1.run(EventQueue.java:636)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
    at java.awt.EventQueue$2.run(EventQueue.java:652)
    at java.awt.EventQueue$2.run(EventQueue.java:650)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

preguntado el 05 de febrero de 12 a las 03:02

Bueno, por el error anterior, parece que el código tiene errores en el componente AWT. ¿Podrías decir o publicar exactamente lo que está en la línea 32? -

La matriz debe inicializarse, por supuesto. Las matrices permiten valores, pero algunas listas no. -

1 Respuestas

No es necesario hacer un bucle, puede llamar directamente Arrays.asList (matriz []) método. por ejemplo: esto debería funcionar:

 troopList = Arrays.asList(lordStats[2]);

donde es troopList List<String>

Respondido 05 Feb 12, 07:02

¿No pasa esto por alto por completo el hecho de que fue el segundo visión de conjunto que el OP quería en la lista? Esto le da la segunda fila, que obviamente es mucho más fácil. - Marcos Peters

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.