[JAVA] Comment ajouter des éléments sans spécifier la longueur du tableau

Ceci est le premier article. J'ai décidé de rejoindre une entreprise informatique en tant que membre de la société l'année prochaine et j'étudie Java par moi-même. .. Je suis un super débutant, donc je ne pense pas que le code soit utile (c'est trop sale et pas bon).


Je me suis demandé si je pouvais faire quelque chose comme la méthode ʻadd () de ArrayList en utilisant un tableau (comme ʻint []).

Il n'y a pas d'autre choix que de changer la longueur du tableau un par un

il semble que. ..

Pour changer la longueur du tableau, vous devez faire une copie du tableau en utilisant System.arraycopy () Par exemple, lors du passage de ʻint [3] à ʻint [5]


class Hairetsu {
	public static void main(String args[])
	{
    	int[] a = new int[3]; //Original
    	a[0] = 1;
    	a[1] = 2;
    	a[2] = 3;
		
    	int[] b = new int[5]; //Copier
    	
    	System.arraycopy( a, 0, b, 0, a.length ); //(Séquence a,à partir de 0 d'un,Vers le tableau b,de 0 en b,Minutes de tous les éléments d'un)copie!
    	
    	for ( int i = 0 ; i < b.length ; i++ ){
    		System.out.println( b[i] );
    	}
    	
	}
}

Résultat d'exécution


1
2
3
0
0

Cela devient le code tel que. Donc, si vous appliquez ceci et essayez de créer quelque chose comme la méthode ʻadd () `dans la liste, ...

class HairetsuList {
	
	static int[] list;
	
	public static void add(int a){
		
		int i = list.length;
		int[] copy = new int[i+1]; //Créez un grand tableau avec 1 élément depuis le début
		
		System.arraycopy( list , 0 , copy , 0 , i );
		
		copy[i] = a ;
		list = copy; //La longueur du tableau est différente, mais il y a ceci. ..
		
	}
}

Ça ressemble à ça, pour le moment un test ...

class Test {
	public static void main(String args[])
	{
		HairetsuList test = new HairetsuList();
		test.list = new int[0];
		
    	test.add(4);
    	test.add(5);
    	test.add(3);
    	
    	System.out.print("{ ");
    	for (int i=0 ; i < test.list.length; i++){
    		System.out.print( test.list[i]+" ");
    	}
    	System.out.print("}");
	}
}

Résultat d'exécution


{ 4 5 3 }

Mis à part le caractère enfantin du code, c'était plutôt bien. Vous pouvez utiliser une liste, etc. normalement. .. Cette fois, j'ai dû utiliser des tableaux pour les tâches de formation en entreprise, j'ai donc fait de mon mieux, mais la programmation est difficile. ..

Recommended Posts

Comment ajouter des éléments sans spécifier la longueur du tableau
[Swift] Comment obtenir le nombre d'éléments dans un tableau (super basique)
Comment ajouter les mêmes index dans un tableau imbriqué
Comment modifier le contenu du fichier jar sans décompresser
Comment ajouter la fonction de suppression
[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux
Comment obtenir la longueur d'un fichier audio avec Java
Comment ajouter un nouveau hachage / tableau
Comparer les éléments d'un tableau (Java)
Comment trier une liste de SelectItems
[Swift] Résumé de la suppression des éléments d'un tableau (mémo personnel)
Comment convertir un tableau de chaînes en un tableau d'objets avec l'API Stream
Résumé de la sélection des éléments dans Selenium
Comment trouver la cause de l'erreur Ruby
Personnalisez la répartition du contenu de Recyclerview
Comment obtenir le jour d'aujourd'hui
Comment afficher le résultat du remplissage du formulaire
[Java] Comment obtenir l'URL de la source de transition
Comment supprimer / mettre à jour le champ de liste de OneToMany
Comment écrire Scala du point de vue de Java
[Java] Comment obtenir la valeur maximale de HashMap
[Rails] Comment changer le nom de colonne de la table
[Android] Comment obtenir la langue de réglage du terminal
[Rails] Comment obtenir le contenu des paramètres forts
Comment juger le clic de n'importe quelle zone de l'image
Comment télécharger une ancienne version d'Apache Tomcat
[Swift] Comment obtenir l'ID de document Firebase
Comment trouver la valeur totale, la valeur moyenne, etc. d'un tableau à deux dimensions (tableau multidimensionnel) -java
Comment utiliser git avec la puissance de jgit dans un environnement sans commandes git
Comment demander en passant un tableau à une requête avec le client HTTP de Ruby
Comment afficher le champ de sélection de time_select toutes les 30 minutes
Comment spécifier un tableau pour la valeur de retour / l'argument d'une méthode dans le fichier IDL CORBA
Comment récupérer la valeur de hachage dans un tableau dans Ruby
4 Ajoutez println à l'interpréteur
Comment gérer la différence dans chaque environnement avec yml sans augmenter le nombre de RAILS_ENV
Comment obtenir les informations les plus longues de Twitter à partir du 12/12/2016
Comment modifier la valeur de réglage de Springboot Hikari CP
[Ruby] Comment récupérer le contenu du double hachage
Comment générer des valeurs de tableau sans utiliser d'instruction for
Comment résoudre les problèmes causés par les trois files d'attente de blocage de Java
Comment installer JDK 8 sur Windows sans utiliser le programme d'installation
[Rails] Comment afficher une liste de messages par catégorie
Comment se moquer de certaines méthodes de la classe testée
Comment marquer les mots-clés de recherche indépendamment de la casse et sans changer le mot source de la recherche
Comment dériver le dernier jour du mois en Java
Comment vérifier l'extension et la taille des fichiers téléchargés
Comment initialiser un tableau Java
[jsoup] Comment obtenir la totalité de la documentation
Mettre à jour vers la dernière version sans spécifier la version avec le wrapper gradle
Essayez d'imiter l'idée d'un tableau à deux dimensions avec un tableau à une dimension
[Swift] Comment modifier dynamiquement la hauteur de la barre d'outils sur le clavier