Cómo utilizar matrices de Java: traducción de Ruby a Java

Estoy empezando con Java, así que estoy transcribiendo algunas de mis cosas de Ruby. Tengo una función Ruby como esta, que genera algo que se parece a una dirección IPv6:

def generate_ip()
    list = ["a", "b", "c", "d", "e", "f", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
    address = ""
    8.times do
        4.times do
            address << list.shuffle[5]
        end
        address << ":"
    end
    return address[0..-2].to_sym
end

Este método simplemente toma una serie de cadenas y luego las mezcla repetidamente, eligiendo el quinto elemento cada vez para construir la cadena devuelta.

Por lo que puedo decir, no hay un método "shuffle ()" para String Arrays en Java, así que pensé que escribiría el mío. Pero luego comencé a enredarme completamente en subproblemas, como:

  1. Aparentemente no hay una forma integrada de eliminar elementos de una matriz de cadenas, lo que parece extraño, ¿es correcto? Vi varias otras publicaciones SO donde las respuestas para estas características eran un bloque de código de 10 líneas. Así que decidí usar ArrayLists, ya que según el documento, tienen métodos sanos como size (), get () y remove (), aunque ...

  2. ... No he encontrado una manera de instanciarlos usando un literal, o de agregar varios elementos con una sola llamada al método. Cada tutorial que veo (incluido el Tutorial oficial de Oracle Java) usa varias llamadas a ArrayList.add (). Esa no puede ser la forma de hacerlo, ¿verdad?

  3. etc.

Entonces, antes de ir a la tierra del subproblema y hacer 50 preguntas diferentes, pensé en preguntar cómo resolver el problema más importante. ¿Hay una manera simple de traducir el código Ruby anterior a Java?

FWIW, mi método "aleatorio" en progreso está abajo. Solo estoy haciendo un bucle de array.length veces, copiando / eliminando un elemento aleatorio de la matriz anterior a una nueva matriz cada vez.

public ArrayList<String> shuffle(ArrayList<String> array) {
        Random generator = new Random();
        ArrayList<String> shuffled = new ArrayList<String>();

        for (int i = 0; i > array.size(); i++) {
            int index = generator.nextInt(array.size());

            String popped = array.get(index);
            array.remove(index);

            shuffled.add(popped);
        }


        return shuffled;
    }
Respuesta 1

Si crea un List(ya sea ArrayListo LinkedList), puede usar Collections.shuffle ()

ArrayList y LinkedList son implementaciones de la interfaz List. Sospecho que tampoco estaría bien para sus necesidades aquí, aunque la ArrayList sería preferible (respaldada por una matriz). Aquí está el tutorial de Java List .

Las matrices tienen una longitud fija en Java, mientras que a Listes de tamaño variable, por lo que Listes más apropiado en general para su conversión anterior. Para crear una lista con un conjunto dado de elementos iniciales, consulte Arrays.asList (), por ejemplo

List stooges = Arrays.asList("Larry", "Moe", "Curly");
Respuesta: 2

He configurado y ejecuto tomcat. Luego fui a URL: http: // localhost: 8080 / manager / html ingresé "admin" como nombre de usuario y contraseña, que se había configurado antes. Entonces, después de eso, puedo ver al gerente de Tomcat, ...

He comprobado el enlace: informe de problemas de sonarqube, pero no está claro cómo lograrlo durante la construcción de Maven.

Me gustaría ejecutar una consulta JPA (eclipselink) como: seleccione t desde SomeEntity t donde t.branch.id en: branchList y pase una colección como branchList. La pregunta es ¿cuál es el límite de tamaño de la colección?

Como dice el título, tengo 3 círculos. Cada uno tiene un radio diferente. Sé el radio de cada círculo. También conozca los puntos centrales de cada círculo. Ahora necesito saber cómo puedo calcular el ...