À quoi sert Collection FrameWork en JAVA
Collection est l'interface de collection la plus basique. Une collection représente un ensemble d'objets, c'est-à-dire que les éléments de la collection Map fournissent la clé du mappage des valeurs
La différence entre ArrayList et Vector, la différence entre HashMap et Hashtable
Réponse : ArrayList et Vector Principalement sous deux aspects.
1. Synchronicité : Vector est thread-safe, ce qui signifie qu'il est synchrone, tandis qu'ArrayList est thread-safe et non synchrone
2. Croissance des données : lorsqu'une croissance est nécessaire, Vector La croissance par défaut est un niveau, tandis qu'ArrayList est la moitié de la taille d'origine
HashMap et HashTable sont principalement sous trois aspects.
1. Raisons historiques : Hashtable est basé sur l'ancienne classe Dictionary et HashMap est une implémentation de l'interface Map introduite dans Java 1.2
2. Synchronicité : Hashtable est thread-safe, ce qui signifie qu'elle est synchrone, tandis que HashMap est un thread programme Dangereux, non synchronisé
3. Valeur : seul HashMap vous permet d'utiliser une valeur nulle comme clé ou valeur d'une entrée de table
Les performances de stockage et les caractéristiques d'ArrayList, Vector et LinkedList
ArrayList et Vector utilisent tous deux des tableaux Store. données. Le nombre d'éléments dans ce tableau est plus grand que les données réellement stockées afin que les éléments puissent être ajoutés et insérés. Ils permettent tous d'indexer les éléments directement par numéro de série. Cependant, l'insertion d'éléments implique des opérations de mémoire telles que le déplacement d'éléments du tableau. donc l'indexation des données est rapide mais l'insertion des données est lente. Parce que Vector La méthode synchronisée (sécurité des threads) est utilisée, ce qui est généralement moins performant que ArrayList utilise une liste chaînée bidirectionnelle pour le stockage. L'indexation des données par numéro de série nécessite un transfert. ou parcours vers l'arrière, mais lors de l'insertion de données, seuls les éléments avant et après cet élément doivent être enregistrés Oui, donc la vitesse d'insertion est plus rapide.
8 Concevez 4 fils, dont deux augmentent j de 1 à chaque fois, et les deux autres fils diminuent j de 1 à chaque fois. Écrivez le programme.
Le programme suivant utilise des classes internes pour implémenter les threads et ne prend pas en compte l'ordre lors de l'augmentation ou de la diminution de j.
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt.new Inc();
Dec dec=tt.new Dec ();
for(int i=0;i<2;i++){
Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start() ;
}
}
private synchronisé void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
private synchronisé void dec( ){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class Inc implémente Runnable{
public void run(){
for(int i=0;i<100;i++){
inc();
}
}
}
class Dec implémente Runnable{
public void run(){
for(int i=0;i<100; i++){
dec();
}
}
}
}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du numéro Armstrong en Java. Nous discutons ici d'une introduction au numéro d'Armstrong en Java ainsi que d'une partie du code.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est
