Heim >Java >javaLernprogramm >Ein Code zum Verständnis der Verwendung von List, Set und Map in Java

Ein Code zum Verständnis der Verwendung von List, Set und Map in Java

高洛峰
高洛峰Original
2017-01-22 15:18:021529Durchsuche

Die Codes für die Verwendung von List, Set und Map in Java lauten wie folgt:

package tingjizifu;
import java.util.*;
public class TongJi {
/*
* 使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数,要求使用学习过的知识完成以上要求
* 实现思路根据Set、List、Map集合的特性完成。
*/
public static void main(String[] args) {
// 输入字符串
Scanner input = new Scanner(System.in);
String shuRu = input.next();
// 把字符串字符装入List集合
List<String> list = new ArrayList<String>();
for (int i = 0; i < shuRu.length(); i++) {
list.add(String.valueOf(shuRu.charAt(i)));
}
// 把字符串字符装入Set集合
Set<String> set = new HashSet<String>();
for (int i = 0; i < shuRu.length(); i++) {
set.add(String.valueOf(shuRu.charAt(i)));
}
// 用Set中的字符与List中的字符进行比较,相同就加1进行计数,
// 然后把Set集合中的字符作为键(key),统计的数作为值(value),最后打印出Map中的数据
Map<String, Integer> map = new HashMap<String, Integer>();
for (String str : set) {
int sum = 0;
// System.out.println(str);
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals(str)) {
sum++;
}
}
map.put(str, sum);
}
Set<String> ss = map.keySet();
for (String str : ss) {
System.out.println(str + "出现次数为" + map.get(str) + "次");
}
input.close();
}
}

Sehen wir uns den Unterschied zwischen Set Map List an

Sie sind alles Sammlungsschnittstellen

set – die darin enthaltenen Werte dürfen nicht wiederholt werden, ungeordnete Datenstruktur
list – die darin enthaltenen Werte dürfen wiederholt werden, da es sich um eine geordnete Datenstruktur handelt
map – gepaarte Datenstruktur, Schlüsselwert Muss eindeutig sein (die Schlüssel dürfen nicht gleich sein, sonst wird der Wert ersetzt) ​​

Liste speichert Objekte in der Reihenfolge, in der sie eingegeben werden, ohne Sortier- oder Bearbeitungsvorgänge.

Set akzeptiert jedes Objekt nur einmal und verwendet seine eigene interne Sortiermethode (normalerweise interessiert Sie nur, ob ein Element zum Set gehört, nicht seine Reihenfolge – andernfalls sollten Sie eine List verwenden).

Map speichert auch eine Kopie jedes Elements, diese basiert jedoch auf „Schlüssel“. Map verfügt auch über eine integrierte Sortierung, sodass die Reihenfolge, in der Elemente hinzugefügt werden, egal ist. Wenn Ihnen die Reihenfolge des Hinzufügens von Elementen wichtig ist, sollten Sie LinkedHashSet oder LinkedHashMap verwenden. Collection ist eine Sammlung von Objekten, List und Set

Liste kann Subscript (1,2..) übergeben werden, um den Wert zu erhalten, der Wert kann wiederholt werden

, während Set den Wert nur über den Cursor abrufen kann und der Wert nicht wiederholt werden kann

ArrayList, Vector und LinkedList sind die Implementierungsklassen von List

ArrayList ist threadsicher und Vector ist threadsicher. Die unterste Ebene dieser beiden Klassen ist implementiert durch Arrays

LinkedList ist Thread-unsicher und die unterste Ebene wird durch eine verknüpfte Liste implementiert

Map ist eine Sammlung von Schlüssel-Wert-Paaren

HashTable und HashMap sind die Implementierungsklassen von Map

HashTable ist threadsicher und kann keine Nullwerte speichern

HashMap ist nicht threadsicher und kann Nullwerte speichern

Das Obige stellt Ihnen der Herausgeber über Java vor. Ich hoffe, dass Ihnen dieses Wissen über die Verwendung von List, Set und Map hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird es tun Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere Artikel über die Verwendung von List, Set und Map in Java finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
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