Bu makalada, “ArrayList” , “Vector ” we “HashMap” kolleksiýalarynyň çarçuwasyndan üç sany möhüm ýygnamak synpy barada öwreneris we olary öz kodumyzda ulanyp başlarys. Collectionygnamak
ArrayList
we ýygnamak sapaklaryny ulanyp Vector
, elementleriň toparyny ýönekeý zatlar hökmünde saklap bileris we bu synplarda bar bolan dürli usullary ulanyp dolandyryp bileris. Sapaklar ArrayList
we Vector
bukjadan elýeterlidir java.util
. Beýleki bir synp, möhüm bahaly kartalaryň ýygyndysyny saklamaga mümkinçilik berýän java.util
paketden elýeterli ýygyndydyr . HashMap
Bu, açar belli bolanda kolleksiýadan islenýän bahany almaga mümkinçilik berýär. Geliň, bu ýygnamak synplaryny ýeke-ýekeden ulanýan mysallara seredeliň. Mysal 1. Bu mysalda, synp ulanyp, ýönekeý bir programma ýazarys - ArrayList kolleksiýasynyň sanawy 1. Mysal üçin ýerine ýetiriş kody
// подключаем класс
import java.util.ArrayList;
public class ArrayListExample {
static String[] favouriteCharacters = {"Harry", "Ron", "Hermione", "Snape", "Dumbledore", "Moody", "Riddle", "Fred"};
int i;
public ArrayList favouritelist = new ArrayList();
// метод добавляет элементы ‘favouriteCharacters’ в ‘favouritelist’
private void includeCharacters(String[]favouriteCharacters)
{
for (i = 0; i < favouriteCharacters.length; i++) {
// добавление элементов по одному из массива ‘favouriteCharacters’
favouritelist.add(favouriteCharacters[i]);
printCharacters(i);
}
// добавление элементов, посредством указания позиций
favouritelist.add(1, "george");
favouritelist.add(4, "Peter");
}
// метод выводит элемент ‘favouritelist’ по указанной позиции
private void printCharacters(int i) {
System.out.println("Character " + (i + 1) + ":" + favouritelist.get(i));
}
// метод выводит все элементы ‘favouritelist’
private void printCharacters() {
System.out.println("\n");
for(int i=0;i<favouritelist.size();i++){
System.out.println("Character" + (i + 1) + ":" + favouritelist.get(i));
} }
// метод возвращает размер коллекции ‘favouritelist’
private int sizeofCharactersList() {
System.out.println("\n");
System.out.println("Total No of Characters in Array:" + favouriteCharacters.length);
System.out.println("Total No of Characters in List:" + favouritelist.size());
return favouritelist.size();
}
// метод выводит позицию element ‘favouritelist’ по указанному имени
public void getCharacterPostion(String characterName) {
System.out.println("\n");
System.out.println("The position of the character\t" + characterName + "\tis\t" + favouritelist.indexOf(characterName));
}
// метод удаляет элемент ‘favouritelist’ по указанному имени
public void removeCharacter(String characterName) {
if(favouritelist.size()>favouriteCharacters.length){
favouritelist.remove(characterName);
}
else{
System.out.println("\n");
System.out.println("The element\t"+favouritelist.get(favouritelist.indexOf(characterName))+"\tcannot be removed");
}
}
// метод удаляет элемент ‘favouritelist’ по указанной позиции
public void removeCharacter(int i) {
if(favouritelist.size()>favouriteCharacters.length){
favouritelist.remove(i);
}
else{
System.out.println("The element\t"+favouritelist.get(i)+"\tcannot be removed");
}
}
public static void main(String args[]) {
ArrayListExample example = new ArrayListExample();
example.includeCharacters(favouriteCharacters);
example.printCharacters();
int size = example.sizeofCharactersList();
example.getCharacterPostion("Ron");
example.removeCharacter("Snape");
example.removeCharacter(2);
example.sizeofCharactersList();
example.removeCharacter("Harry");
example.removeCharacter(4);
}
}
Bu programmany işletmek aşakdaky netijäni berer:
Character 1:Harry
Character 2:Ron
Character 3:Hermione
Character 4:Snape
Character 5:Dumbledore
Character 6:Moody
Character 7:Riddle
Character 8:Fred
Character1:Harry
Character2:george
Character3:Ron
Character4:Hermione
Character5:Peter
Character6:Snape
Character7:Dumbledore
Character8:Moody
Character9:Riddle
Character10:Fred
Total No of Characters in Array:8
Total No of Characters in List:10
The position of the character Ron is 2
Total No of Characters in Array:8
Total No of Characters in List:8
The element Harry cannot be removed
The element Dumbledore cannot be removed
Berlen ädim programmasyna ädim-ädim seredeliň. Bu mysalda, programmanyň birinji setirinde synpy - kolleksiýany import edýäris ArrayList
. favouriteCharacters
Soň bolsa, adamlaryň atlaryny we favouritelist
kolleksiýanyň mysalyny öz içine alýan setirler toplumyny başlaýarys ArrayList
. Usuly includeCharacters(args)
iki bölege bölmek mümkin. Usulyň birinji bölüminde aýlawdan kolleksiýa elementler goşulýar. Bu ýagdaýda elementleri goşmak, ArrayList
massiwde ýerleşýän tertipde ýerine ýetirilýär. Kolleksiýa goşulan elementler üçin hiç hili pozisiýa kesgitlemeýändigimiz sebäpli şeýle bolýar. Emma usulymyzyň ikinji bölüminde indeksirlemek arkaly elementler goşulýar. Bu ýagdaýda ýygyndyda görkezilen takyk ýagdaýda elementler goşulýar. Collectionygyndynyň ortasyna täze element goşulanda ArrayList
, täze elementiň görkezilen goýulýan ýerinden daşda ýerleşýän şol kolleksiýada bar bolan elementler indiki ýagdaýlara öz ýagdaýlaryndan geçirilýär we şeýlelik bilen kolleksiýanyň göwrümini artdyrýar. Ilki bilen çykyşa seredenimizde göreris:
Total No of Characters in List: 10
Total No of Characters in Array: 8
Munuň sebäbi, goşulan 8 elemente eýe bolan massiwden başga-da ArrayList
, ýene 2 elementi aç-açan goşýarys, şeýlelik bilen kolleksiýanyň göwrümini 10-a ýetirýäris. Usul getCharacterPosition(args)
bir elementiň (adamyň ady) bahasyny alýar we pozisiýany görkezýär ýygyndydaky bu elementiň ArrayList
. Şeýle element ýok bolsa ArrayList
, -1 bahasy görkezilýär. Usul, removeCharacter(args)
elementiň görkezijisini ýa-da elementiň özüni argument hökmünde alyp, görkezilen elementiň bahasyny (adamyň ady) ýygyndydan aýyrýar. Aboveokardaky kodda, kolleksiýadan 2 elementi aýyrandygymyz sebäpli kolleksiýamyzyň göwrüminiň 10-a däl-de, 8-e ýetendigini görüp bileris. Eger massiwiň we kolleksiýanyň ululyklary birmeňzeş bolsa, usul aşakdaky setirleri görkezýär:
The element Harry cannot be removed
The element Dumbledore cannot be removed
Usulyň ýerine ýetirilmegi removeCharacter(args)
diňe kolleksiýanyň göwrüminiň massiwiň ululygyndan köp bolmalydygy bilen şertlendirilýär. Mysal 2. Bu mysalda bir synp - ýygyndy sanawy ulanyp ýönekeý bir programma ýazarys. Vector
Mysal üçin 2 ýerine ýetiriş kody
// подключаем класс
import java.util.Vector;
public class VectorExample {
Vector vector=new Vector();
public void addCharacterandPrint(){
vector.add("Weasley");
vector.add("Potter");
for(int i=0;i<vector.size();i++){
System.out.println("The characters are\t"+vector.get(i));
}
}
public static void main(String args[]){
VectorExample example=new VectorExample();
example.addCharacterandPrint();
}
}
Bu programmany işletmek aşakdaky netijäni berer:
The characters are Weasley
The characters are Potter
ArrayList
Aboveokardaky kod, kolleksiýalaryň arasynda kän bir tapawudyň ýokdugyny subut etmek üçin berlen kiçijik bir nusga Vector
. Theygyndy , şol bir usullary ulanyp, Vector
kolleksiýa bilen dolandyrylyp bilner ArrayList
. Mysal 3. Bu mysalda, kolleksiýa synpynyň sanawyny ulanyp, ýönekeý bir programma ýazarys. HashMap
3-nji mysal üçin ýerine ýetiriş kody
// подключаем класс
import java.util.HashMap;
public class HashMapExample {
HashMap hashMap=new HashMap();
String Books[]={"Famous Five","Goosebumps","Robinson Crusueo","Nancy Drew","The Cell","The Davinci Code","Harry Potter"};
public void mapAuthors(){
hashMap.put("Famous Five","Enid Blyton");
hashMap.put("Goosebumps","R.L.Stine");
hashMap.put("Nancy Drew","Carolyn Keene");
hashMap.put("The Cell","Christopher Pike");
hashMap.put("The Davinci Code","Dan Brown");
hashMap.put("Harry Potter","J.K. Rowling");
}
public void getBookList(){
for(int i=0;i<Books.length;i++){
if(hashMap.containsKey(Books[i])){
System.out.println("Author"+(i+1)+":\t"+hashMap.get(Books[i])+"\t"+Books[i]);
}
else{
System.out.println("\nThe Imformation about the author of the book\t"+Books[i]+"\tis not available\n");
}
}
}
public static void main(String args[]){
HashMapExample hashMapExample=new HashMapExample();
hashMapExample.mapAuthors();
hashMapExample.getBookList();
}
}
Bu programmany işletmek aşakdaky netijäni berer:
Author1: Enid Blyton Famous Five
Author2: R.L.Stine Goosebumps
The Information about the author of the book Robinson Crusueo is not available
Author4: Carolyn Keene Nancy Drew
Author5: Christopher Pike The Cell
Author6: Dan Brown The Davinci Code
Author7: J.K. Rowling Harry Potter
Aboveokardaky koda seredeliň. Bu mysal programmasynda elementleri meşhur kitaplaryň atlary bolan setirler toplumy bar. Bu usul, mapAuthors()
awtorlary bilen kitap atlarynyň görkezilmegini döredýär. Bu ýerdäki açarlar kitaplaryň atlary we gymmatlyklar şol kitaplaryň awtorlarydyr. Usul diýlende getBookList()
, massiwde gaýtalanýar Books
we kitap atlaryny birin-birin alýar. Ondan soň, usul haýsydyr bir kitabyň öz awtorynyň bardygyny ýa-da ýokdugyny barlaýar. Görşümiz ýaly, usul kitabyň awtoryny tapyp bilmese, habar görkezilýär not available
. Otherwiseogsam, awtor we kitaby birin-birin görkezilýär. Netije:ArrayList
Bu makalada sapaklar - ýygyndylar barada azajyk öwrendik Vector
we HashMap
olary öz kodumyzda ulanmaga synanyşdyk. Asyl makala: Java Collection Framework tarapyndan üpjün edilen ArrayList, Vektor we HashMap sapaklaryny nädip ulanmaly
GO TO FULL VERSION