Código de Java - Vector en un ArrayList forma alterna

Imágen de perfil
Val: 509
Bronce
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Vector en un ArrayList forma alternagráfica de visualizaciones


Java

Publicado el 16 de Enero del 2019 por Rafael Angel
719 visualizaciones desde el 16 de Enero del 2019
Permite guardar un vector en forma alternativa dentro de un ArrayList.
Se crea un modelo (Un class de solo propiedades), luego se crea otro class que tiene un vector con dos casillas, las cuales guardan objetos del class modelo o persona tal y como se le llama a su instancia.
Luego en un class mas superior se crea un ArrayList del class RS_Vector el cual contiene al vector de objetos.
En otras partes del programa se prueba como es guardado el class Rs_Vector con todo y vector en el ArrayList.

Finalmente, todos los class están anidados dentro de un class superior, esto para simplificar y facilitar su programación y potabilidad.
Ademas que la cualidad de anidar un class en Java le da al programador la posibilidad de experimentar nuevas arreas o habilidades en sus programas. Al menos en la experiencia que he tenido con Java así lo siento yo.

Requerimientos

NetBeans 8.2

1.0

Publicado el 16 de Enero del 2019gráfica de visualizaciones de la versión: 1.0
720 visualizaciones desde el 16 de Enero del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Es un ejemplo muy simplificado para que lo que se quiere mostrar sea fácilmente implementado en otros proyectos de los usuarios que miren el código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.ArrayList;
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
 
 
@Documented()
@Target( ElementType.TYPE_USE)
@Retention(RetentionPolicy.RUNTIME)
@interface Forma_alternativa_de_guardar_vector_en_ArrayList{
    public String descripcion() default "Permite demostrar que hay una forma alternativa de guardar vectores en ArrayList";
}
 
 
/**
 * Muestra la forma alterna de guardar un vector en un ArrayList.
 * @author Rafael Angel Montero Fernandez.
 */
@Forma_alternativa_de_guardar_vector_en_ArrayList
class Guardar_vector_forma_dos{
 
    /**
     * Facilita la imprecion de mensajes en pantalla.
     * @param datos Cualquier texto.
     */
    private void msj(String datos){
        System.out.println(datos);
    }
    /**
     * Carga los datos de ejemplo en los diferentes objetos.
     */
    public void cargar_datos(){
        Modelo una_persona=new Modelo("Rafael");
        Rs_Vector un_rs=new Rs_Vector();
        un_rs.add(una_persona, 0);
        un_rs.setIdentificador(1);
        una_persona=new Modelo("Juana de Arco");
        un_rs.add(una_persona, 1);
        rs.add(un_rs);
        un_rs=new Rs_Vector();
        una_persona=new Modelo("Lozen");
        un_rs.add(una_persona, 1);
        una_persona=new Modelo("Grace OMalen");
        un_rs.add(una_persona, 0);
        un_rs.setIdentificador(2);
        rs.add(un_rs);
    }
 
    /**
     * Carga los datos en JTextArea para ser mostrados en un form.
     * Pero por si acaso tambien, imprime los datos de reporte en pantalla.
     * @return Retorna una instancia de JTextArea cargada con datos.
     */
    private JTextArea mostrar_registros(){
        this.cargar_datos();
        JTextArea jtaReporte=new JTextArea();
        jtaReporte.setBounds(0,0,300,200);
        for(int f0=0; f0<=rs.size()-1; f0++){
            msj("f0= " + f0);
            msj(rs.get(f0).toString());
            jtaReporte.setText(jtaReporte.getText() + "\n" +rs.get(f0).toString() );
 
        }
//        JOptionPane.showMessageDialog(null,jtaReporte);
        return jtaReporte;
    }
 
    /**
     * Llama a los metodos internos necesarios, crea la instancia de un JFrame.
     * Lo muestra con un JTextArea con datos.
     * Muestra los resultados de las pruebas.
     */
    public void probar(){
        JFrame FRM_Reporte=new JFrame("Reporte");
        FRM_Reporte.setBounds(100, 50, 300, 200);
        JScrollPane jsp=new JScrollPane(mostrar_registros());
        jsp.setBounds(0,0,300,200);
        FRM_Reporte.add(jsp);
        FRM_Reporte.setVisible(true);
        FRM_Reporte.setResizable(false);
        FRM_Reporte.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
 
    /**
     * Este ArrayList permite guardar un class Rs_Vector, el cual tiene un vector de 2 casillas en su interior.
     */
    private ArrayList<Rs_Vector> rs=new ArrayList<Rs_Vector>();
 
    /**
     * Puede guardar dos objetos a la vez.
     */
    public class Rs_Vector{
        /**
         * Instancia u objeto interno de Modelo.
         */
        private Modelo persona[]=new Modelo[2];
        /**

        **/
         private int identificador/*=valor*/;
        /**

        **/
        public void setIdentificador(int nuevo_identificador)
        {
 
            identificador=nuevo_identificador;
        }
        /**

        **/
        public int getIdentificador(){
 
            return identificador;
        }
 
        /**
         * Agrega datos al ArrayList.
         * @param una_persona Un objeto o instanacia Modelo con datos.
         * @param id Un valor cero o 1.
         */
        public void add(Modelo una_persona, int id){
            if((id>persona.length-1)||(id<0)){
                JOptionPane.showMessageDialog(null, "El indice indicado esta fuera de los limites del vector.");
            }else{
                persona[id]=una_persona;
                msj(persona[id].getNombre());
                una_persona=null;//Se anula para evitar.
            }
        }
 
        /**
         * 
         * @return Retorna el registro de las dos personas.
         */
        @Override
        public String toString(){
//            msj("Identificador= " + this.getIdentificador() +  ". Persona 1: " + persona[0].getNombre() + "; persona 2: " + persona[1].getNombre());
            return "Identificador= " + this.getIdentificador() + ". Persona 1: " + persona[0].getNombre() + "; persona 2: " + persona[1].getNombre();
        }
    }
 
    /**
     * Modelo a usarse en el ejemplo.
     */
    public class Modelo{
        public Modelo(String nuevo_Nombre){
        setNombre(nuevo_Nombre);
 
        }
 
 
        public Modelo(){}
        /**
        nombre esta bien.
        **/
         private String Nombre/*=valor*/;
        /**
        nombre esta bien.
        **/
        public void setNombre(String nuevo_Nombre)
        {
 
            Nombre=nuevo_Nombre;
        }
        /**
        nombre esta bien.
        **/
        public String getNombre(){
 
            return Nombre;
        }
 
        @Override
        public String toString(){
            return this.getNombre();
        }
    }//Fin del class    
}



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5017