Heim > Java > JavaErste Schritte > Hauptteil

Was sind die am häufigsten verwendeten Sammlungsklassen in Java?

王林
Freigeben: 2019-12-02 17:04:31
Original
4258 Leute haben es durchsucht

Was sind die am häufigsten verwendeten Sammlungsklassen in Java?

1. Set-Sammlung

Die Hauptimplementierungsklassen sind HashSet und TreeSet zum Speichern von Verweisen auf Objekte, und es sind keine doppelten Objekte zulässig.

Beispielcode:

public class SetTest {
    public static void main(String[] args) {      
    Set set=new HashSet();       //添加数据        
    set.add("abc");      
    set.add("cba");      
    set.add("abc");//故意重复      
    set.add(123);      
    set.add(true);        
    System.out.println("集合元素个数:"+set.size());        //遍历出集合中每一个元素       
    Iterator it=set.iterator();       
    while(it.hasNext()){         
        System.out.println(it.next());        
    }     
    }  
}
Nach dem Login kopieren

Identifiziert durch die Methode equal() von Java. Wenn Sie spezielle Anforderungen haben, müssen Sie die Methode equal() überladen.

1.HashSet(), rufen Sie die hashCode()-Methode des Objekts auf, rufen Sie den Hash-Code ab und berechnen Sie dann die Position des Objekts in der Sammlung. Stellen Sie fest, ob Duplikate vorhanden sind, indem Sie den Hash-Code mit der Methode equal() vergleichen. Wenn Sie also die Methode equal() überladen, müssen Sie auch die Methode hashCode() überladen.

Empfohlene Video-Tutorials: Java-Online-Lernen

2.TreeSet(), erbt die ShortedSet-Schnittstelle und kann Objekte in einer Sammlung sortieren. Die Standardsortiermethode ist die natürliche Sortierung, diese Methode kann jedoch nur Objekte sortieren, die die Comparable-Schnittstelle implementieren. Diese Schnittstelle ist in Java für numerische und Zeichenobjekte wie Integer, Byte, Double, Character und String implementiert.

Wenn eine spezielle Sortierung vorliegt, müssen Sie die compareTo()-Methode unter der Schnittstelle überladen oder eine Sammlung über die Implementierungsklasse der Comparator-Schnittstelle erstellen.

2. Listensammlung

Die Hauptimplementierungsklassen sind LinkedList und ArrayList. Ersteres implementiert die verknüpfte Listenstruktur, und letzteres kann ein Array variabler Größe darstellen.

Liste zeichnet sich durch ihre Fähigkeit aus, Objekte linear zu speichern und ermöglicht die Speicherung doppelter Objekte. Listen können mit der statischen Methode sort der Collections-Klasse sortiert werden. sort(Listenliste) natürliche Sortierung; sort(List listm,Comparator codddmparator)benutzerdefinierte Sortierung.

Beispielcode:

List: lineare Sammlungsschnittstelle, geordnet;

ArrayList: dynamisches Array [dynamisches Array variabler Länge]; >

: Eine Sammlung verknüpfter Listenstrukturen.

  public class ListTest {
     //ArrayList     
     static void testOne(){      
     List list=new ArrayList();       //添加数据       
     list.add("abc");       
     list.add("cba");       
     list.add(123);       
     list.add(0,"fist");       //查看集合长度       
     System.out.println("存放"+list.size()+"个元素");       
     list.remove(0);//删除第一个元素       //查看集合中是否包含cba       
     if(list.contains("cba")){        
     System.out.println("包含元素cba");    
     }         //取出集合中第二个元素       
     System.out.println("第二个元素是:"+list.get(1));         //取出集合中所有元素       
     for (int i = 0; i < list.size(); i++) {         
     System.out.println(list.get(i));      
     }     
     }       //LinkedList      
     static void testTwo(){      
     LinkedList list=new LinkedList();      //添加元素      
     list.add("aaaa");      
     list.add(123123);      
     list.addFirst("1111111");      
     list.addLast("2222222");      
     list.add("33333333");        
     System.out.println("元素个数:"+list.size());      //取出第三个元素      
     System.out.println("第三个元素是:"+list.get(2));        //第一个元素      
     System.out.println("第一个元素:"+list.getFirst());      
     System.out.println("最后一个元素:"+list.getLast());        //删除第一个元素      
     list.removeFirst();        
     for (Object object : list) {        
     System.out.println(object);      
     }     
     }      
     public static void main(String[] args) {      //testOne();      
     testTwo();     
     }  
     }
Nach dem Login kopieren
LinkedList3. Kartensammlung.

Die Hauptimplementierungsklassen sind

und

. Die Karte erfordert keine Eindeutigkeit für Werte, erfordert jedoch Eindeutigkeit für Schlüssel. Wenn ein vorhandener Schlüssel hinzugefügt wird, wird das ursprüngliche Wertobjekt überschrieben. HashMapTreeMapDie HashMap-Klasse greift auf Schlüsselobjekte gemäß dem Hash-Algorithmus zu. Sie können die Methoden

und

überladen, um Schlüssel zu vergleichen, aber die beiden müssen konsistent sein. equals() kann auf natürliche Weise sortiert werden, oder eine TreeMap kann durch Übergabe der Implementierungsklasse von hashCode() erstellt werden. TreeMapComparatorKarte: Eine Sammlung von Schlüssel-Wert-Paar-Speicherstrukturen, ungeordnet.

Beispielcode:

public class MapTest {
    public static void main(String[] args) {       //实例化一个集合对象       
    Map map=new HashMap();       //添加数据       
    map.put("P01", "zhangSan");       
    map.put("P02", "Lucy");       
    map.put("PSex", "男");       
    map.put("PAge", "39");       
    map.put("PAge", "22");//key,重复会被后面的覆盖         //判断是否有一个key为PSex       
    if(map.containsKey("PSex")){        
        System.out.println("存在");        
    }      
    System.out.println("集合大小:"+map.size());      
    System.out.println("输出key为PAge的值:"+map.get("PAge"));        //遍历出Map集合中所有数据      
    Iterator it=map.keySet().iterator();      
    while(it.hasNext()){      
        String key=it.next().toString();      
        System.out.println("key="+key+",value="+map.get(key));    
    }      
    /*      
    Set set=map.keySet();//取出map中所有的key并封装到set集合中      
    Iterator it=set.iterator();      
    while(it.hasNext()){      
        String key=it.next().toString();      
        System.out.println("key="+key+",value="+map.get(key));    
    }      
    */    
    }  
    }
Nach dem Login kopieren

Empfohlene verwandte Artikel und Tutorials:

Java-Einstiegsprogramm

Das obige ist der detaillierte Inhalt vonWas sind die am häufigsten verwendeten Sammlungsklassen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage