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使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java list,set,map,数组间的相互转换详解

    java list,set,map,数组间的相互转换详解 1.list转set Set set = new HashSet( new ArrayList()); 2.set转list List list = new ArrayList( new HashSet());  3.数组转为list List stooges = Arrays.asList( "Larry" , "Moe" , "Curly" ); 此时stooges中有有三个元素.注意

  • Java中Collection、List、Set、Map之间的关系总结

    初学java,单个的接触有点迷糊,所以总结下他们的关系 一.关系 Collection --List:以特定顺序存储 --ArrayList.LinkList.Vector --Set:不能包含重复的元素 --HashSet.TreeSet Map --HashMap.HashTable.TreeMap 二.分别讲解 Collection:Collection是一个父接口,List和Set是继承自他的子接口,Collection是最基本的集合接口,Java SDK中不提供直接继承自Collect

  • 多用多学之Java中的Set,List,Map详解

    很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进拉出,迭代遍历,蛮方便的. 也不知道从什么时候开始慢慢的代码中就经常会出现HashMap和HashSet之类的工具类.应该说HashMap比较多一些,而且还是面试经典题,平时也会多看看.开始用的时候简单理解就是个键值对应表,使用键来找数据比较方便.随后深入了解后发现 这玩意还有点小奥秘,特别是新版本的JDK对Has

  • java中实现list或set转map的方法

    java中实现list或set转map的方法 在开发中我们有时需要将list或set转换为map(比如对象属性中的唯一键作为map的key,对象作为map的value),一般的想法就是new一个map,然后把list或set中的值一个个push到map中. 类似下面的代码: List<String> stringList = Lists.newArrayList("t1", "t2", "t3"); Map<String, St

  • Java中List Set和Map之间的区别_动力节点Java学院整理

    Java集合的主要分为三种类型: • Set(集) • List(列表) • Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. 世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合 有人想有可以自动扩展的数组,所以有了List 有的

  • Java集合Set、List、Map的遍历方法

    本文实例讲述了Java集合Set.List.Map的遍历方法,分享给大家供大家参考. 具体方法如下: package com.shellway.javase; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.uti

  • Java集合定义与用法实例总结【Set、List与Map】

    本文实例讲述了Java集合定义与用法.分享给大家供大家参考,具体如下: java集合大体可分为三类,分别是Set.List和Map,它们都继承了基类接口Collection,Collection接口定义了众多操作集合的基本方法,如下: 为了访问Collection集合,不得不去了解Iterator接口.该接口很简单,主要用于定义访问集合的方法,如下: 所以上述的三大类子集合必定都继承了上面2个接口.其中Set集合要求元素不重复,且内部无序,所以访问时只能根据元素值来访问:List内部为动态数组,

  • Java中的Set、List、Map的用法与区别介绍

    Collection 接口 :Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法.Set和List都继承了Conllection,Map Collection接口的方法: boolean add(Object o):向集合中加入一个对象的引用 void clear():删除集合中所有的对象,即不再持有这些对象的引用 boolean isEmpty():判断集合是否为空 boolean contains(Object o):判断集合中是否持有特定对

  • 详解Java中list,set,map的遍历与增强for循环

    详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法.如果只做简单遍历读取,增强for循环确实减轻不少的代码量. 集合概念: 1.作用:用于存放对象 2.相当于一个容器,里面包含着一组对象,其中的每个对象作为集合的一个元素出现 3.jav

  • 一段代码搞懂关于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 = n

随机推荐