Heim >Java >JavaErste Schritte >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()); } } }
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]; >
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(); } }
LinkedList
3. 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. HashMap
TreeMap
Die HashMap-Klasse greift auf Schlüsselobjekte gemäß dem Hash-Algorithmus zu. Sie können die Methoden
ü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. TreeMap
Comparator
Karte: 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)); } */ } }
Empfohlene verwandte Artikel und Tutorials:
Java-EinstiegsprogrammDas 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!