一段代码搞懂关于Java中List、Set集合及Map的使用

网友投稿 257 2023-07-10


一段代码搞懂关于Java中List、Set集合及Map的使用

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 list = new ArrayList();

for (int i = 0; i < shuRu.length(); i++) {

list.add(String.valueOf(shuRu.charAt(i)));

}

// 把字符串字符装入Set集合

Set set = zvqMUBnew HashSet();

for (int i = 0; i < shuRu.length(); i++) {

set.add(String.valueOf(shuRu.charAt(i)));

}

// 用Set中的字符与List中的字符进行比较,相同就加1进行计数,

// 然后把Set集合中的字符作为键(key),统计的数作为值(value),最后打印出Map中的数据

Map map = new HashMap();

for (String str : set) {

int sum = 0;

// System.out.println(str);

for (int i = 0; i < list.size(); i++) {

if (list.get(i).zvqMUBequals(str)) {

sum++;

}

}

map.put(str, sum);

}

Set ss = map.keySet();

for (String str : ss) {

System.out.println(str + "出现次数为" + map.get(str) + "次");

}

input.close();

}

}

下面看下set map list的区别

都是集合接口

set --其中的值不允许重复,无序的数据结构

  list   --其中的值允许重复,因为其为有序的数据结构

  map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换)

List 按对象进入的顺序保存对象,不做排序或编辑操作。

Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。

Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap.

Collection 是对象集合, Collection 有两个子接口 List 和 Set

List 可以通过下标 (1,2..) 来取得值,值可以重复

而 Set 只能通过游标来取值,并且值是不能重复的

ArrayList , Vector , LinkedList 是 List 的实现类

ArrayList 是线程不安全的, Vector 是线程安全http://的,这两个类底层都是由数组实现的

LinkedList 是线程不安全的,底层是由链表实现的

Map 是键值对集合

HashTable 和 HashMap 是 Map 的实现类

HashTable 是线程安全的,不能存储 null 值

HashMap 不是线程安全的,可以存储 null 值

以上所述是给大家介绍的关于Java中List、Set集合及Map的使用知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java数组,去掉重复值、增加、删除数组元素的实现方法
下一篇:解析Mybatis连续传递多个参数的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~