一、set 无序、可重复

public static  void main(String[] args){
Set<String> set=new HashSet<String>();
String s1=new String("hello");
String s2=s1;
String s3=new String("world");
String s5=new String("world");
//Set集合中add方法自动去重
set.add(s1);
set.add(s2);
set.add(s3);
set.add(s5);
//输出set数组
System.out.println(set);
//第1种 for循环遍历
for(String str:set){
System.out.println("for循环遍历:"+str);
}
//第2中 Iterator迭代遍历 hasNext()检查序列中是否还有元素 ,next()获得序列中的下一个元素
for(Iterator iterator=set.iterator();iterator.hasNext();){
String str=(String)iterator.next();
System.out.println("Iterator迭代遍历:"+str);
} //第3种方法 通过split分离然后输出
String[] s4=set.toString().split(",");
for(int i=0;i<s4.length;i++){
System.out.print("split输出结果:"+s4[i].replace("[", "").replace("]", ""));
}
} 运行结果:
[hello, world]
for循环遍历:hello
for循环遍历:world
Iterator迭代遍历:hello
Iterator迭代遍历:world
split输出结果:hellosplit输出结果: world

二、list 有序、可重复

package com.liuqi.ceshi;

import java.util.ArrayList;
import java.util.List; public class ListTest { public static void main(String[] args) {
//list 有序 可重复
List<String> person=new ArrayList();
//add添加方法
person.add("zhangsan");
person.add("lisi");
person.add("lisi");
person.add("wangwu");
person.add("zhaoliu");
person.add("zhangsan");
System.out.println("输出集合中元素"+person);
//remove删除元素
person.remove(0);
System.out.println("remove删除元素"+person);
//通过下标获取具体值
String index0= person.get(0);
System.out.println("通过下标获取具体值:"+index0);
//for循环遍历
for(String str:person){
System.out.println(str);
}
//contains查看某个元素是否在此集合中
String personname="zhangsan";
if(person.contains(personname)){
System.out.println("zhangsan在list列表中");
}
//.set(index, element)
person.set(0, "liuqi");
System.out.println("将第一个下标值对应值改为liuqi:"+person);
//通过元素找下标
System.out.println(person.indexOf("liuqi"));
System.out.println(person.lastIndexOf("zhangsan")); List<String> animal=new ArrayList();
animal.add("dog");
// 比较两个对象是否相等用equals,比较hashcode用==
if(person.equals(animal)){
System.out.println("相同");
}else{
System.out.println("不相同");
}
//判断list是否为空
if(person.isEmpty()){
System.out.println("为空");
}else{
System.out.println("不为空");
}
//将集合转化为字符串
System.out.println("将集合转化为字符串"+person.toString());
//将集合转化为数组
System.out.println("将集合转化为数组"+person.toArray());
//去重复
for (int i = 0; i <person.size()-1; i++) {
for (int j = person.size()-1; j >i; j--) {
if (person.get(j).equals(person.get(i))) {
person.remove(j);
}
}
}
System.out.println("元素去重"+person); } } 运行结果:
输出集合中元素[zhangsan, lisi, lisi, wangwu, zhaoliu, zhangsan]
remove删除元素[lisi, lisi, wangwu, zhaoliu, zhangsan]
通过下标获取具体值:lisi
lisi
lisi
wangwu
zhaoliu
zhangsan
zhangsan在list列表中
将第一个下标值对应值改为liuqi:[liuqi, lisi, wangwu, zhaoliu, zhangsan]
0
4
不相同
不为空
将集合转化为字符串[liuqi, lisi, wangwu, zhaoliu, zhangsan]
将集合转化为数组[Ljava.lang.Object;@6b38dba
元素去重[liuqi, lisi, wangwu, zhaoliu, zhangsan]

三、map 映射key-value

package com.liuqi.ceshi;

import java.util.HashMap;
import java.util.Map; public class MapTest { public static void main(String[] args) {
Map<String,String> map=new HashMap<String,String>();
map.put("1", "zhangsan");
map.put("2", "zhangsan");
map.put("3", "lisi");
//Map.values()遍历所有values
for(String values:map.values()){
System.out.println(values);
}
//Map.entrySet遍历key和value
for (Map.Entry<String, String> entry : map.entrySet()){
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
} } } 运行结果:
lisi
zhangsan
zhangsan
key= 3 and value= lisi
key= 2 and value= zhangsan
key= 1 and value= zhangsan

集合set、map、list的更多相关文章

  1. Java常用的几种集合, Map集合,Set集合,List集合

    Java中  Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...

  2. Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

    1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: ...

  3. Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值

    1. Map集合的遍历  Map -- 夫妻对 思路:  A:把所有的丈夫给集中起来.  B:遍历丈夫的集合,获取得到每一个丈夫.  C:让丈夫去找自己的妻子.  转换:  A:获取所有的键  B:遍 ...

  4. Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试

    1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...

  5. Java集合之Map和Set

    以前就知道Set和Map是java中的两种集合,Set代表集合元素无序.不可重复的集合:Map是代表一种由多个key-value对组成的集合.然后两个集合分别有增删改查的方法.然后就迷迷糊糊地用着.突 ...

  6. java学习笔记—集合之Map集合

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px Times } p.p2 { margin: 0.0p ...

  7. Java集合之Map

    Map架构: 如上图: (1)Map是映射接口,Map中存储的内容是键值对(key-value) (2)AbstractMap是继承于Map的抽象类,实现了Map中的大部分API. (3)Sorted ...

  8. Java集合之Map和Set源码分析

    以前就知道Set和Map是java中的两种集合,Set代表集合元素无序.不可重复的集合:Map是代表一种由多个key-value对组成的集合.然后两个集合分别有增删改查的方法.然后就迷迷糊糊地用着.突 ...

  9. 第51节:Java当中的集合框架Map

    简书作者:达叔小生 Java当中的集合框架Map 01 Map提供了三个集合视图: 键集 值集 键-值 映射集 public String getWeek(int num){ if(num<0 ...

  10. 集合框架-Map集合

    * Map集合和Collection集合的区别? * Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的.可以把这个理解为:夫妻对 * Collection集合存储元素是单独出现的, ...

随机推荐

  1. Datatable报错Uncaught TypeError: Cannot read property 'cell' of undefined

    使用Datatables时,报出错误 仔细想想,是因为我在columns里加入了id,并设置visible:false 但是却没在下面的HTML部分多加一个 th 虽然我觉得因为id是隐藏的,不用加上 ...

  2. 数字转汉字|语言代码|NSNumberFormatter

    iOS之阿拉伯数字转中文数字 - 简书 iOS中金额数字的格式化 NSNumberFormatter - 简书 ISO语言代码(ISO-639)与国家代码(ISO-3166) - CSDN博客 语种名 ...

  3. vue父子组件之间的传值

    引入组件 父组件 <div> <form-edit></form-edit> </div> import FormEdit from "路径& ...

  4. [笔记][SQL] 连接join

    在学习菜鸟教程里的MySQL教程时,对左右连接的结果有点不解. 其中有如下两个表: runoob_tbl: +-----------+--------------+---------------+-- ...

  5. cookie的简单认识

    1.cookie Cokie又叫会话跟踪技术,实际上就是客户端硬盘上的一个文本文件,该文件用来存储一些数据. 首先,HTTP请求时无状态的,也就是说,你打开一个网页和下一个网页之间没有任何关系,数据不 ...

  6. django 登录注册注销

    一.设计数据模型 1.数据库模型设计 作为一个用户登录和注册项目,需要保存的都是各种用户的相关信息.很显然,我们至少需要一张用户表User,在用户表里需要保存下面的信息: 用户名 密码 邮箱地址 性别 ...

  7. Laravel源码解析--看看Lumen到底比Laravel轻在哪里

    在前面一篇<Laravel源码解析--Laravel生命周期详解>中我们利用xdebug详细了解了下Laravel一次请求中到底做了哪些处理.今天我们跟 Lumen 对比下,看看 Lume ...

  8. CentOS6安装各种大数据软件 第三章:Linux基础软件的安装

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  9. Android接口与架构(驱动开发)翻译官方文档

    Android接口与架构 Android在设备的规格与驱动方面给了你很大的自由来实现.HAL层提供了一个标准的方式来打通Android系统层与硬件层.Android系统是开源的,所以你能够在接口和性能 ...

  10. 20155210 2016-2017-2《Java程序设计》课程总结

    20155210 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:你期望的师生关系 预备作业2:做中学 预备作业3:虚拟机安装 第一周作业:教材 ...