java中Map、Set、List的简单使用教程(快速入门)

 更新时间:2021年01月14日 11:42:58   作者:黑峯  
这篇文章主要给大家介绍了关于java中Map、Set、List简单使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Map、Set、List

List的常用方法

1、创建

List<Integer> list = new ArrayList<>(); 
List<Integer> list = new LinkedList<>(); //同时可以作为链表用
List<List<Integer>> list = new ArrayList<>();

2、遍历

//本质上其实是调用Iterator
for(String s:list){
	System.out.print(s);
}

3、List转化为数组

//两种写法都可以, 第一种微微规范一点 , 但是只能是封装类型的数组
Integer array[] = list.toArray(new Integer[list.size()]);
Integer array[] = list.toArray();
//java8的写法, 可以借助stream来实现直接转化为 基本类型数组
int[] result = list.stream().mapToInt(i->i).toArray();

4、数组转化为List

//array[]是不是封装类都无所谓, 不是封装类型 系统会自动转换为封装类型
Integer array[] = {1,2,3};
intarray[] = {1,2,3};
List<Integer> list = new ArrayList<>(Arrays.asList(array));

//由此有直接默认给List赋值的简便写法
List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3));

5、合并两个List

List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
list.addAll(list); //list2的元素全部加入list1

Set的常用方法

1、创建Set

Set<String> set = new HashSet<>();
Set<String> set = new TreeSet<>();

2、遍历

for(Integer t:set){
 System.out.print(t);
}

3、数组转Set

String[] strs = new String[]{"Tom", "Bob", "Jane"};
Set<String> set = new HashSet<>(Arrays.asList(strs));

3、Set转数组

String[] strs = new String[]{"Tom", "Bob", "Jane"};
Set<String> set = new HashSet<>(Arrays.asList(strs));
//同样的也是封装类型不能直接转为 基本类型
Object[] result = set.toArray();

Map的常见用法

Map最大的特点就是以 key-value的方式才存储数据

创建Map集合

Map<String,Integer> map = new HashMap<>(); //无序
Map<String,Integer> map = new TreeMap<>(); //按key有序, 并可以实现自定义排序

遍历Map集合

//通过索引遍历, 效率不高
for(String key:map.keySet()){
	Integer temp = map.get(key);
}

//通过entry遍历 (推荐使用)
for(Entry<String,Integer> entry: map.entrySet()){
 String s = entry.getKey();
 Integer a = entry.getValue();
}
//获取值
map.get(object);
map.getOrDefault(tmp, 0); //如果为空则设为0

注意事项

1、当调用List的contains(Object o)方法时即使是相同内容的对象,但不是相同对象会被判断成不相同。需要手动在对象中编写equals方法,用Object.equals(a,b);

其余的常见方法均在图片中给出。

总结

到此这篇关于java中Map、Set、List的简单使用教程的文章就介绍到这了,更多相关java中Map、Set、List使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java.lang.ClassCastException的问题解决

    java.lang.ClassCastException的问题解决

    本文主要介绍了java.lang.ClassCastException的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • idea创建的idea项目时springframework出现红色的原因和解决方法

    idea创建的idea项目时springframework出现红色的原因和解决方法

    当使用 IntelliJ IDEA 创建 Spring Framework 项目时,springframework 出现红色可能是因为相关的 Spring Framework 依赖没有正确加载或项目的配置有问题,本文给大家介绍了一些常见的原因和解决方法,需要的朋友可以参考下
    2023-09-09
  • Java线程同步问题--哲学家就餐

    Java线程同步问题--哲学家就餐

    这篇文章主要介绍了Java线程同步问题,线程的同步是保证多线程安全访问竞争资源的一种手段。线程的同步是Java多线程编程的难点,下面文章举例的方式讲解Java线程同步,具有一定的参考价值,需要的朋友可以参考下
    2022-02-02
  • 深入探究Java中的类加载机制

    深入探究Java中的类加载机制

    这篇文章主要给大家介绍了关于Java中类加载机制的相关资料,JVM将类加载过程分为三个步骤:装载(Load)、链接(Link)和初始化(Initialize),本文通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • 如何用Netty实现高效的HTTP服务器

    如何用Netty实现高效的HTTP服务器

    这篇文章主要介绍了如何用Netty实现高效的HTTP服务器,对HTTP感兴趣的同学可以参考一下
    2021-04-04
  • Spring Cloud搭建eureka过程图解

    Spring Cloud搭建eureka过程图解

    这篇文章主要介绍了Spring Cloud搭建eureka过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java包装类的概述与应用

    Java包装类的概述与应用

    包装类使用起来非常方便,但是没有对应的方法来操作这些基本数据类型,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,我们可以使用类中的方法来操作这些基本类型的数据,这篇文章主要给大家介绍了关于Java包装类的相关资料,需要的朋友可以参考下
    2022-04-04
  • MyBatis-Plus如何解决主键自增问题

    MyBatis-Plus如何解决主键自增问题

    这篇文章主要介绍了MyBatis-Plus如何解决主键自增问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java快速实现PDF转图片功能实例代码

    Java快速实现PDF转图片功能实例代码

    PDFBox是一个开源Java类库,用于读取和创建PDF文档,它支持文本提取、表单处理、文档加密解密、合并分割、内容覆盖追加、文档打印和转换等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • IDEA实用好用插件推荐及使用方法教程详解(必看)

    IDEA实用好用插件推荐及使用方法教程详解(必看)

    这篇文章主要介绍了IDEA实用好用插件推荐及使用方法教程,本文通过实例截图相结合给大家介绍的非常详细,对大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04

最新评论