Java에서 List, Set collection, 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 map list의 차이점을 살펴보겠습니다.
모두 collection 인터페이스입니다
set --값은 반복이 허용되지 않으며 순서가 지정되지 않은 데이터 구조
list --값은 순서가 지정된 데이터 구조이므로 반복이 허용됩니다.
map -- 쌍으로 된 데이터 구조 데이터 구조에서 키 값은 고유성을 가져야 합니다(키는 동일할 수 없으며 그렇지 않으면 값이 대체됩니다)
목록은 정렬이나 편집 작업 없이 입력된 순서대로 개체를 저장합니다.
Map도 각 요소의 복사본을 저장하지만 이는 "키"를 기반으로 합니다. Map에도 정렬 기능이 내장되어 있으므로 요소가 추가되는 순서는 신경 쓰지 않습니다. 요소 추가 순서가 중요한 경우 LinkedHashSet 또는 LinkedHashMap을 사용해야 합니다.
컬렉션은 객체의 컬렉션으로 List와 Set
HashTable과 HashMap은 Map의 구현 클래스입니다
HashTable은 스레드로부터 안전하며 null 값을 저장할 수 없습니다
이상은 에디터가 Java에 대해 소개하는 내용입니다. 궁금한 점이 있으면 메시지를 남겨주시면 에디터가 List, Set, Map 사용법에 대한 지식이 도움이 되기를 바랍니다. 시간 내에 답장을 보내주세요. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!
Java의 List, Set 및 Map 사용에 대한 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!