Java で List、Set、Map を使用するためのコードは次のとおりです:
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(); } }
set マップ リストの違いを見てみましょう
これらはすべてコレクション インターフェイスです
set - その中の値は許可されていません繰り返され、順序付けされていないデータ構造
リスト - 順序付けされたデータ構造であるため、その中の値の繰り返しが許可されます
マップ - ペアのデータ構造、キー値は一意である必要があります (キーは同じであってはなりません)それ以外の場合は値が置き換えられます)
リスト オブジェクトごとに入力 並べ替えや編集操作を行わずに、オブジェクトを順番に保存します。
Set は各オブジェクトを 1 回だけ受け入れ、独自の内部ソート方法を使用します (通常、要素が順序ではなく、要素が Set に属しているかどうかのみを考慮します。そうでない場合は、List を使用する必要があります)。
Map は各要素のコピーも保存しますが、これは「キー」に基づいており、Map には組み込みの並べ替え機能もあるため、要素が追加される順序は関係ありません。要素を追加する順序が重要な場合は、LinkedHashSet または LinkedHashMap を使用する必要があります。
Collection はオブジェクトのコレクションです。Collection には List と Set の 2 つのサブインターフェースがあります。
List は添え字 (1, 2..)、値は繰り返すことができます
そして、Setはカーソルを介してのみ値を取得でき、値を繰り返すことはできません
ArrayList、Vector、LinkedListはListの実装クラスです
ArrayListはスレッドです-unsafe、Vector はスレッドセーフです はい、これら 2 つのクラスの最下層は配列によって実装されます
LinkedList はスレッドアンセーフで、最下層はリンク リストによって実装されます
Map はキーと値のコレクションですペア
HashTableとHashMapはMapの実装クラスです
HashTableはスレッドセーフであり、null値を格納できません
HashMapはスレッドセーフではなく、null値を格納できます
上記はエディタのものですJava での List、Set、Map の使用に関する知識の紹介です。ご質問があれば、メッセージを残してください。編集者がすぐに返信します。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。
Java での List、Set、Map の使用に関するその他の記事については、PHP 中国語 Web サイトに注目してください。