Java Basics idea, Arrays, Arrays Tool class

Vers le Haut 2022-01-15 02:39:09 阅读数:807

java basics idea arrays arrays

JavaConnaissances de base No4Oh, mon Dieu.

【Objectifs d'apprentissage】Compris.、Compris.、Application、Mémoire

1. 【Application】IDEAInstallation et utilisation d'outils

a) 【Application】MaîtriseideaInstallation d'outils de développement

b) 【Application】Capable d'utiliserideaCréationJavaIngénierie

c) 【Application】Capable d'utiliserideaCréer des paquets et des classes

d) 【Compris.】ideaDeJavaTable des matières

e) 【Compris.】ideaConfiguration de la police

f) 【Application】ideaRaccourcis clavier de développement communs

g) 【Compris.】Importation et suppression d'articles

2. 【Compris.】Structure de mémoire de tableau unidimensionnel et initialisation statique

a) 【Mémoire】Capable d'expliquerJavaQuelle zone est divisée en mémoire

b) 【Compris.】Capable d'illustrer la distribution d'un tableau en mémoire selon le Code

c) 【Compris.】Capable d'illustrer la distribution de deux tableaux en mémoire selon le Code

d) 【Compris.】Un diagramme de mémoire capable d'illustrer deux tableaux pointant vers la même valeur d'adresse selon le Code

e) 【Application】Capable d'écrire indépendamment l'initialisation statique du tableau

3. 【Application】Tableaux unidimensionnels foire aux questions et exercices

a) 【Application】Capable d'écrire indépendamment le Code de deux petits problèmes courants pour les opérations de tableau

b) 【Application】Capable d'écrire indépendamment le Code d'une opération de tableau traversant un tableau

c) 【Application】Capable d'écrire indépendamment le Code qui obtient la valeur maximale pour l'opération Array

4.【Compris.】Définition et utilisation de tableaux bidimensionnels

a) 【Compris.】Être capable d'expliquer la vue d'ensemble et l'utilisation de base d'un tableau bidimensionnel

b) 【Application】Capable d'écrire le Code de traversée de tableau 2D indépendamment

5.【Application】ArraysClasses d'outils pour les tableaux

a) 【Application】ArraysDeAPIUtiliser

b) 【Compris.】 Analyse du principe de tri rapide

c) 【Application】Mise en œuvre du tri des bulles

d) 【Compris.】Demi - recherche

e) 【Application】 Copie et extension du tableau

No1Chapitre Outils de développementIntelliJ IDEAUtilisation de

1.1 Aperçu des outils de développement

​ IDEAC'est une cible spéciale pourJavaOutils de développement intégré pour(IDE),ParJavaRédaction Linguistique.Alors...,J'en ai besoin.JRE Exécuter l'environnement et configurer les variables d'environnement . Il peut grandement améliorer notre efficacité de développement . Peut être compilé automatiquement ,Vérifier les erreurs.Dans l'entreprise,Ce qui est utilisé estIDEADéveloppement.

1.2 IDEAInstallation du logiciel

Ce logiciel est intégré 32Bits et64Bits,Double - clic ideaIU-2019.2.4.exe Accès à l'installation.

**PS:** Pour plus de détails, voir 《IDEA Installation et utilisation d'outils de développement .pdf》Documentation

1.3 IDEARaccourcis clavier communs

Alt+Enter Importer des paquets, Code de correction automatique

Ctrl+Y Supprimer la ligne du curseur

Ctrl+D Copier le contenu de la ligne du curseur , Insérer sous la position du curseur

Ctrl+Alt+L Code de formatage

Ctrl+/ Commentaire à une ligne

Ctrl+Shift+/ Cochez la note de code ,Commentaires multilignes, Appuyez à nouveau pour annuler le commentaire

Alt+Ins Génération automatique de code,toString,get,setMéthode isométrique

Alt+Shift+Flèche vers le haut et vers le bas Déplacer la ligne de code actuelle

1.4 Paramètres de police

IDEA La police par défaut de l'outil est très petite , Les polices de sortie de l'éditeur de code et de la console doivent être ajustées .

Cliquez sur File->Settings->Editor->Font Modifier la police.

Insérer la description de l'image ici

Insérer la description de l'image ici

1.5 IDEACatalogue des projets pour

Le projet que nous avons créé , Dans le répertoire où se trouve le projet demoEn bas.

.idea Table des matières et demo.iml Sans rapport avec le développement,- Oui.IDEA L'outil lui - même

out Le répertoire est stocké après Compilation .classDocumentation

src Les répertoires stockent ce que nous avons écrit .javaFichier source

Insérer la description de l'image ici

1.6 IDEAModifier les raccourcis clavier

​ InIDEADans l'outil, Ctrl+Espaces Raccourci clavier pour, Peut nous aider à compléter le Code , Mais ce raccourci clavier et Windows Raccourci de commutation de la méthode d'entrée dans Conflit de clés,Modifications nécessairesIDEARaccourcis clavier dans.

1. File->Settings->keymap->Main menu->code->Completion->Basic

Insérer la description de l'image ici

2.Double - clic Basic->remove->Ctrl+Espaces

Insérer la description de l'image ici

3.Double - clic Basic->Add Keyboard->Tapez Alt+/->Cliquez surOK

Insérer la description de l'image ici

1.7 IDEA Importer et fermer des projets

1.FermerIDEA Éléments existants dans

File->Close Project

Insérer la description de l'image ici

File->Close ProjectAprès,En ce momentIDEA Retour à l'écran de démarrage , Cliquez sur le X ,IDEA Il n'y aura pas de projet

2.InIDEA Sur l'interface de démarrage de ,Cliquez sur OPEN ,Sélectionnez le répertoire des projets à ouvrir

3.Si vous voulez passerIDEA Ouvrir plusieurs projets en même temps ,Cliquez surOPENLors de l'ouverture du projet,Cliquez surNew WindowBoutons

Insérer la description de l'image ici

No2Chapitre Tableau

2.1 Vue d'ensemble du tableau

**Conteneur:** Est de stocker plusieurs données ensemble ,Chaque donnée est appelée l'élément du conteneur.

Qu'est - ce qu'un tableau? ?Quelles sont les caractéristiques??

Un tableau stocke plusieurs variables (Élément)Quelque chose(Conteneur)

Les types de données de ces variables doivent être cohérents

Concept de tableau: Un tableau est un conteneur qui stocke des données de longueur fixe, Assurer la cohérence des types de données pour plusieurs données .

2.2 Format de définition du tableau

2.2.1 Concept de tableau

Un tableau est un conteneur qui stocke plusieurs éléments du même type de données .

Les tableaux peuvent stocker à la fois les types de données de base,Les types de données de référence peuvent également être stockés.

2.2.2 Format de définition du tableau

Format1:Type de données[] Nom du tableau; int[] arr;

Format2:Type de données Nom du tableau[];

Attention!: Les deux définitions sont terminées , Il n'y a pas de valeur d'élément dans le tableau .

2.3 Initialisation du tableau

2.3.1 Aperçu de l'initialisation du tableau

JavaLe tableau dans doit être initialisé en premier,Avant d'utiliser.

Initialisation:Est d'allouer de l'espace mémoire aux éléments du tableau dans le tableau,Et assigner une valeur à chaque élément du tableau.

2.3.2 Comment initialiser un tableau

2.3.2.1 Initialisation dynamique:Spécifiez seulement la longueur du tableau lors de l'initialisation,Le système assigne la valeur initiale au tableau

 Format:Type de données[] Nom du tableau = new Type de données[Longueur du tableau];

La longueur du tableau est en fait le nombre d'éléments dans le tableau.

2.3.2.2 Cas 1

//Tableau: Un conteneur qui stocke plusieurs éléments du même type de données .
//Initialisation dynamique:Type de données[] Nom du tableau = new Type de données[Longueur du tableau];
public class ArrayDemo1 {

public static void main(String[] args) {

//Type de données[] Nom du tableau = new Type de données[Longueur du tableau]; La valeur par défaut de l'élément dans le tableau est 0
int[] arr = new int[3];
/* * À gauche.: * int: Description le type de données de l'élément dans le tableau est intType * []:Ça veut dire qu'il s'agit d'un tableau * arr:Est le nom du tableau * A droite: * new: Allouer de l'espace mémoire au tableau * int: Description le type de données de l'élément dans le tableau est intType * []:Ça veut dire qu'il s'agit d'un tableau * 3:Longueur du tableau,En fait, c'est le nombre d'éléments dans le tableau */
}
}

2.3.2.3 Initialisation statique:Spécifie la valeur initiale de chaque élément de tableau lors de l'initialisation, La longueur du tableau est déterminée par le nombre d'éléments

 Format:Type de données[] Nom du tableau = new Type de données[]{
Élément1,Élément2,Élément3...};
Format:Type de données[] Nom du tableau = {
Élément1,Élément2,Élément3...};

2.3.2.4 Cas 2

// Format d'initialisation statique 
//Type de données[] Nom du tableau = new Type de données[]{Élément1,Élément2,...};
//Format simplifié:Type de données[] Nom du tableau = {Élément1,Élément2,...};
public class ArrayDemo2 {

public static void main(String[] args) {

//Définir un tableau
int[] arr1 = new int[]{
1,2,3};
int[] arr2 = {
1,2,3};
}
}

2.4 Allocation de mémoire pour le tableau

**Aperçu de la mémoire:**La mémoire est un élément important de l'ordinateur,Stockage temporaire,La fonction est d'exécuter le programme.Les programmes que nous écrivons sont stockés sur le disque dur,Les programmes sur le disque dur ne fonctionnent pas,Doit être mis en mémoire pour fonctionner,La mémoire est vidée après l'exécution.

2.4.1 JVMPartition de la mémoire

JavaProgramme en cours d'exécution,Besoin d'espace alloué en mémoire.Pour améliorer l'efficacité du calcul,L'espace est divisé en différentes zones,Parce que chaque zone a des méthodes spécifiques de traitement des données et de gestion de la mémoire.

Pile Stocker les variables locales.
- Une variable locale est une variable définie à l'intérieur d'une méthode
- Recycler immédiatement après utilisation .
Pile StockagenewQuelque chose qui sort.,Objet réel.
- Chaque objet a sa première adresse
- Les données de chaque objet ont une valeur par défaut
- Après utilisation, il sera recyclé par le collecteur d'ordures au ralenti

Insérer la description de l'image ici

2.4.2 Carte mémoire d'un tableau

Besoins:Définir un tableau, Nom et élément du tableau de sortie . Puis assigner des valeurs aux éléments du tableau , Exporter à nouveau le nom et l'élément du tableau .

2.4.2.1 Cas III

/** * Besoins:Définir un tableau, Nom et élément du tableau de sortie . Puis assigner des valeurs aux éléments du tableau , Exporter à nouveau le nom et l'élément du tableau . */
public class ArrayTest1 {

public static void main(String[] args) {

//Définir un tableau
int[] arr = new int[3];
// Nom et élément du tableau de sortie 
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
//Assigner des valeurs aux éléments du tableau
arr[0] = 100;
arr[2] = 200;
// Exporter à nouveau le nom et l'élément du tableau 
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}

2.4.2.2 Schéma de mémoire de code

Insérer la description de l'image ici

2.4.3 Carte mémoire des deux tableaux

Besoins:Définir deux tableaux, Nom et élément du tableau de sortie séparément . Puis assigner des valeurs aux éléments du tableau séparément , Affiche à nouveau le nom du tableau et l'élément séparément

2.4.3.1 Cas IV

/** * Besoins:Définir deux tableaux, Nom et élément du tableau de sortie séparément . Puis assigner des valeurs aux éléments du tableau séparément , Affiche à nouveau le nom du tableau et l'élément séparément . */
public class ArrayTest2 {

public static void main(String[] args) {

//Définir deux tableaux
int[] arr = new int[2];
int[] arr2 = new int[3];
// Nom et élément du tableau de sortie séparément 
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr2);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
// Puis assigner des valeurs aux éléments du tableau séparément 
arr[1] = 100;
arr2[0] = 200;
arr2[2] = 300;
// Exporter à nouveau le nom et l'élément du tableau 
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr2);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
}
}

2.4.3.2 Schéma de mémoire de code

Insérer la description de l'image ici

2.4.4 Deux tableaux pointant vers la même adresse de carte mémoire

Besoins:Définir deux tableaux,Définissez d'abord un tableau,Affectation,Produits. Ensuite, lorsque vous définissez le deuxième tableau, assignez l'adresse du premier tableau au deuxième tableau . Et ensuite assigner une valeur au deuxième tableau , Affiche à nouveau les noms et les éléments des deux tableaux

2.4.4.1 Cas V

/** * Besoins:Définir deux tableaux,Définissez d'abord un tableau,Affectation,Produits. Ensuite, lorsque vous définissez le deuxième tableau, attribuez l'adresse du premier tableau au deuxième nombre * Groupe. Et ensuite assigner une valeur au deuxième tableau , Affiche à nouveau les noms et les éléments des deux tableaux . */
public class ArrayTest3 {

public static void main(String[] args) {

// Définissez d'abord un tableau,Affectation,Produits
int[] arr = new int[3];
arr[0] = 100;
arr[1] = 200;
arr[2] = 300;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
// Ensuite, lorsque vous définissez le deuxième tableau, assignez l'adresse du premier tableau au deuxième tableau 
int[] arr2 = arr;
// Et ensuite assigner une valeur au deuxième tableau 
arr2[0] = 111;
arr2[1] = 222;
arr2[2] = 333;
// Affiche à nouveau les noms et les éléments des deux tableaux 
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr2);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
}
}

2.4.4.2 Schéma de mémoire de code

Insérer la description de l'image ici

2.5 Utilisation du tableau

2.5.1 Accès aux éléments du tableau

Index: Chaque élément stocké dans un tableau,Ont automatiquement un numéro,De0C'est parti.,Ce numéro automatique est appeléIndex des tableaux (index),Les éléments du tableau sont accessibles par l'index du tableau.

Format: Nom du tableau[Index]

Attribut longueur du tableau: Chaque tableau a une longueur,Et c'est fixe.,JavaUn attribut donné au tableau dans,Vous pouvez obtenirLongueur du tableau,L'énoncé est:: Nom du tableau.length ,PropriétéslengthLe résultat de l'exécution est la longueur du tableau,intType de résultat.

La valeur maximale de l'index du tableau est:Nom du tableau.length-1 .

Index Accessing Elements in a Array :

Nom du tableau[Index]=Valeur numérique,Assigner des valeurs aux éléments du tableau

Variables=Nom du tableau[Index], Extraire les éléments du tableau

2.5.2 Cas 6

public class ArrayDemo3 {

public static void main(String[] args) {

//Type de données[] Nom du tableau = new Type de données[Longueur du tableau];
int[] arr = new int[3];
//[[email protected],Valeur de l'adresse
System.out.println(arr);
// Il n'y a aucun sens à obtenir la valeur de l'adresse , Je veux la valeur des données dans le tableau ,Qu'est - ce qu'on fait??
//Ne t'inquiète pas,javaJe t'ai déjà aidé.
// En fait, chaque élément du tableau est numéroté ,Le numéro est de0Au début, Le plus grand nombre est :Longueur du tableau-1
// Avec le nom et le numéro du tableau, nous pouvons obtenir les éléments numérotés spécifiés dans le tableau , Le nom professionnel de ce numéro :Index
//Format:Nom du tableau[No.] <--> Nom du tableau[Index]
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}

2.5.3 Deux petits problèmes avec l'utilisation des tableaux

ArrayIndexOutOfBoundsException Tableau hors de portée exception

NullPointerException Exception au pointeur nul

2.5.4 Cas VII

/** * Tableau hors de portée exception、Exception au pointeur nul * * Deux petits problèmes courants : * A:java.lang.ArrayIndexOutOfBoundsException * Tableau hors de portée exception * Causes: C'est que vous accédez à un élément d'index qui n'existe pas . * B:java.lang.NullPointerException * Exception au pointeur nul * Causes: Le tableau ne pointe plus vers les données de la mémoire tas , Vous utilisez également des noms de tableaux pour accéder aux éléments . * * Pourquoi devrions - nous nous souvenir de ces petits problèmes? ? * La programmation ne consiste pas seulement à écrire le Code , Il faut aussi être capable de résoudre rapidement les problèmes lorsqu'ils surviennent . */
public class ArrayDemo4 {

public static void main(String[] args) {

// Définir un tableau
int[] arr = {
1, 2, 3};
//ArrayIndexOutOfBoundsException Tableau hors de portée exception
//System.out.println(arr[3]);
//Type de référence:Catégorie,Interface,Tableau
//Constante:Constante nulle null, Peut être attribué à un type de référence 
//arr = null;
System.out.println(arr[1]);
}
}

2.5.5 Itération du tableau

Besoins:Tableau des déclarations,Itération(Afficher chaque élément du tableau à son tour),Obtient le nombre d'éléments dans le tableau:Nom du tableau.length

2.5.6 Cas 8

public class ArrayDemo5 {

public static void main(String[] args){

//Tableau des déclarations,Créer un tableau
int[] arry = new int[]{
1,2,3,4,5};
//Valeur
/* System.out.println(i[0]); System.out.println(i[1]); System.out.println(i[2]); System.out.println(i[3]); System.out.println(i[4]); */
//Première catégorie:forCycle,Valeur itérative
for(int j = 0;j < arry.length;j++){

System.out.println(arry[j]);
}
//Deuxième type:forCycle,Renforcementfor
for(int x : arry){

System.out.println(x);
}
}
}

2.7 Tableau bidimensionnel

2.7.1 Aperçu du tableau 2D

Notre programmeur geek camp Java Cours de base il y a beaucoup d'étudiants dans chaque classe ,Alors..., Peut être stocké dans un tableau , Et nous en avons beaucoup en même temps JavaCours de base. Celui - ci devrait aussi être stocké dans un tableau . Comment représenter ces données ?Java Un tableau bidimensionnel est disponible pour nous .

On peut voir que: En fait, un tableau bidimensionnel est en fait un tableau dont les éléments sont des tableaux unidimensionnels .

2.7.2 Format de tableau 2D

Définir le format:
Type de données[][] Nom du tableau;
Type de données Nom du tableau[][]; Non recommandé
Type de données[] Nom du tableau[]; Non recommandé
Méthode d'initialisation:
//Initialisation dynamique:
//m Indique combien de tableaux unidimensionnels ce tableau bidimensionnel a 
//n Combien d'éléments représentent chaque tableau unidimensionnel 
Type de données[][] Nom de la variable = new Type de données[m][n];
//Initialisation statique:
Type de données[][] Nom de la variable = new Type de données[][]{
{
Élément…},{
Élément…},{
Élément…}};
//Format simplifié:
Type de données[][] Nom de la variable = {
{
Élément…},{
Élément…},{
Élément…}};

2.7.2.1 Cas no 9

public class TwoArrayDemo1 {

public static void main(String[] args) {

// Type de données[][] Nom du tableau = {
{Élément...},{Élément...},{Élément...},...};
int[][] arr = {
 {
 1, 2, 3 }, {
 4, 5, 6 }, {
 7, 8, 9 } };
System.out.println(arr); // [[[email protected]
System.out.println(arr.length); // Nombre de tableaux unidimensionnels dans un tableau bidimensionnel 
System.out.println(arr[0]);// [[email protected]
System.out.println(arr[0].length);
System.out.println(arr[1]);// [[email protected]
System.out.println(arr[2]);// [[email protected]
// Comment obtenir les éléments d'un tableau bidimensionnel ?
System.out.println(arr[0][0]);
System.out.println(arr[1][1]);
System.out.println(arr[2][0]);
}
}

2.7.3 Traversée d'un tableau 2D

Pensée ergodique : Tout d'abord, utilisez la boucle pour parcourir chaque tableau unidimensionnel stocké dans un tableau bidimensionnel , Ensuite, pour chaque tableau unidimensionnel traversé, les éléments du tableau unidimensionnel sont traversés à l'aide d'une boucle

2.7.3.1 Cas X

public class TwoArrayDemo2 {

public static void main(String[] args) {

//Définir un tableau bidimensionnel
int[][] arr={
{
1,2,3},{
4,5,6},{
7,8,9}};
// Un nom de tableau unidimensionnel dans un tableau bidimensionnel :Nom du tableau 2D[Index]
//arr[0] En fait, c'est le nom du premier tableau unidimensionnel d'un tableau bidimensionnel 
//arr[1] En fait, c'est le nom du deuxième tableau unidimensionnel d'un tableau bidimensionnel 
//arr[2] En fait, c'est le nom du troisième tableau unidimensionnel d'un tableau bidimensionnel 
/* // Éléments du premier tableau unidimensionnel for(int x=0;x<arr[0].length;x++){ System.out.println(arr[0][x]); } // Éléments du deuxième tableau unidimensionnel for(int x=0;x<arr[1].length;x++){ System.out.println(arr[1][x]); } // Éléments du troisième tableau unidimensionnel for(int x=0;x<arr[2].length;x++){ System.out.println(arr[2][x]); }*/
//Code d'amélioration,Longueur du tableau 2D
for(int y=0;y<arr.length;y++){

for(int x=0;x<arr[y].length;x++){

System.out.println(arr[y][x]);
}
}
System.out.println("---------------");
// Améliorations finales 
for(int y=0;y<arr.length;y++){

for(int x=0;x<arr[y].length;x++){

System.out.print(arr[y][x]+" ");
}
System.out.println();
}
}
}

No3Chapitre ArraysCatégorie

3.1 Arrays Classes d'outils pour les tableaux

Insérer la description de l'image ici

3.2 Analyse du principe de tri rapide

Insérer la description de l'image ici

3.3 Réaliser le tri des bulles

Besoins: Saisissez dix entiers à partir du clavier ,Sortie ascendante;(Tri des bulles)

Insérer la description de l'image ici

/** * Tri des bulles */
public class BubbleDemo {

public static void main(String[] args) {

int[] arr = {
8,4,2,1,23,344,12};
//i Comparer le nombre de Tours
for (int i = 0; i < arr.length-1; i++) {

//j Nombre de fois
for (int j = 0; j < arr.length-i-1 ; j++) {

//Comparaison
if(arr[j]>arr[j+1]){

int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
//Produits
for (int a : arr) {

System.out.println(a);
}
}
}

3.4 Demi - recherche

Besoins:Il y a une séquence de nombres:8,4,2,1,23,344,12, Saisissez n'importe quelle donnée du clavier ,Déterminer si ce nombre est inclus dans la colonne
Insérer la description de l'image ici

/** * Méthode de recherche dichotomique(Demi - recherche): Basé sur un tableau ordonné * Exercice2:Il y a une séquence de nombres:1,2,4,8,12,23,344, Saisissez n'importe quelle donnée du clavier ,Déterminer si ce nombre est inclus dans la colonne */
public class BinaryDemo {

public static void main(String[] args) {

int[] arr = {
1,2,4,8,12,23,344};
// Indice
int left = 0;
int right = arr.length - 1;
int middle = 0;
//key
Scanner scanner = new Scanner(System.in);
System.out.println("Saisissez les mots clés:");
int key = scanner.nextInt();
boolean flag = true;
// Tant que cette condition est remplie , On peut comparer tout le temps 
while(left <= right){

//Calculmiddle
middle = (left+right)/2;
//Comparaison Oui.keyAvecarr[middle]Comparer
if(arr[middle] > key){

right = middle - 1;
}else if(arr[middle] < key){

left = middle + 1;
}else if(arr[middle] == key){

flag = false;
System.out.println("Contient");
break;
}
}
if(flag){

System.out.println("Ne contient pas");
}
}
}

3.5 Copie et extension du tableau

/** * Arrays Classe d'outils Array Copie */
public class ArraysDemo1 {

public static void main(String[] args) {

/** * System * src Tableau source srcPos Position de départ du tableau source destTableau cible destPos Position de départ du tableau cible length Longueur de la copie * static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) */
int[] arr = {
10,25,3,45,12};
int[] brr = new int[arr.length];
System.arraycopy(arr,0,brr,0,arr.length);
System.out.println("arr:"+Arrays.toString(arr));
System.out.println("brr:"+Arrays.toString(brr));
//equals Comparer le contenu des éléments dans deux tableaux 
System.out.println(Arrays.equals(arr,brr)); //true
//== Comparer les adresses 
System.out.println(arr == brr); //false
/** * Arrays * original Tableau source newLength Longueur du nouveau tableau * static int[] copyOf(int[] original, int newLength) */
int[] crr = Arrays.copyOf(arr, arr.length);
System.out.println("crr:"+Arrays.toString(crr));
System.out.println("equals:"+Arrays.equals(arr,crr)); //true
System.out.println("==:"+(arr==crr)); //false
//Expansion du tableau
int[] drr = Arrays.copyOf(arr, arr.length*3/2+1);
int[] err = Arrays.copyOf(drr, drr.length*3/2+1);
System.out.println("drr:"+Arrays.toString(drr));
System.out.println("err:"+Arrays.toString(err));
}
}

3.6 API Autres méthodes

/** * ArraysClasse d'outils Trier Dichotomie */
public class ArraysDemo2 {

public static void main(String[] args) {

int[] arr = {
10,25,9,12,11,7};
/** * Trier d'abord * static void sort(int[] a) * Premier paramètre: Tableau participant au tri Deuxième paramètre:Position de départ Troisième paramètre:Position de terminaison(Impossible de récupérer) * static void sort(int[] a, int fromIndex, int toIndex) */
Arrays.sort(arr);
//Arrays.sort(arr,1,4);
System.out.println(Arrays.toString(arr)); //[7, 9, 10, 11, 12, 25]
/** * Encore deux points de recherche * static int binarySearch(int[] a, int key) * Utilisez la méthode de recherche binaire pour rechercher le int Tableau type, Pour obtenir la valeur spécifiée . * static int binarySearch(int[] a, int fromIndex, int toIndex, int key) * Utilisez la méthode de recherche binaire pour rechercher le int Gamme de tableaux de type , Pour obtenir la valeur spécifiée . * * Valeur de retour: * 1.Si inclus, Renvoie directement l'indice * 2.Si non inclus, Et l'élément est plus grand que toutes les valeurs du tableau , Le point d'insertion est la longueur du tableau ,Retour à l'index(-arr.length)-1 * 3.Si non inclus, Et l'élément n'est pas plus grand que toutes les valeurs du tableau , Le point d'insertion est le premier plus grand que keyIndice de l'élément pour,Retour à l'index(-index)-1 */
int index = Arrays.binarySearch(arr,8);
System.out.println(index);
}
}
/** * ArraysClasse d'outils Itérations profondes Élément de remplissage */
public class ArraysDemo3 {

public static void main(String[] args) {

//deepToString Itérations profondes 
int[][] arr = {
{
1,2,3},{
4,5,6,7}};
System.out.println(Arrays.toString(arr)); //Adresse
System.out.println(Arrays.deepToString(arr)); //Valeur numérique de l'élément
//static void fill(Object[] a, Object val) Élément de remplissage
String[] strs = new String[5];
Arrays.fill(strs,"aaa");
System.out.println(Arrays.toString(strs)); //[aaa,aaa,aaa,aaa,aaa]
//static void fill(Object[] a, int fromIndex, int toIndex, Object val) Spécifiez l'élément de remplissage de la plage 
Arrays.fill(strs,1,4,"bbb");
System.out.println(Arrays.toString(strs)); //[aaa,bbb,bbb,bbb,aaa]
}
}
版权声明:本文为[Vers le Haut]所创,转载请带上原文链接,感谢。 https://javamana.com/2022/01/202201080601056527.html