集合set、map、list
一、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的更多相关文章
- Java常用的几种集合, Map集合,Set集合,List集合
Java中 Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...
- Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值
1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对 思路: A: 获取所有结婚证的集合 B: 遍历结婚证的集合,得到每一个结婚证 C: 根据结婚证获取丈夫和妻子 转换: A: ...
- Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值
1. Map集合的遍历 Map -- 夫妻对 思路: A:把所有的丈夫给集中起来. B:遍历丈夫的集合,获取得到每一个丈夫. C:让丈夫去找自己的妻子. 转换: A:获取所有的键 B:遍 ...
- Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试
1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...
- Java集合之Map和Set
以前就知道Set和Map是java中的两种集合,Set代表集合元素无序.不可重复的集合:Map是代表一种由多个key-value对组成的集合.然后两个集合分别有增删改查的方法.然后就迷迷糊糊地用着.突 ...
- 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 ...
- Java集合之Map
Map架构: 如上图: (1)Map是映射接口,Map中存储的内容是键值对(key-value) (2)AbstractMap是继承于Map的抽象类,实现了Map中的大部分API. (3)Sorted ...
- Java集合之Map和Set源码分析
以前就知道Set和Map是java中的两种集合,Set代表集合元素无序.不可重复的集合:Map是代表一种由多个key-value对组成的集合.然后两个集合分别有增删改查的方法.然后就迷迷糊糊地用着.突 ...
- 第51节:Java当中的集合框架Map
简书作者:达叔小生 Java当中的集合框架Map 01 Map提供了三个集合视图: 键集 值集 键-值 映射集 public String getWeek(int num){ if(num<0 ...
- 集合框架-Map集合
* Map集合和Collection集合的区别? * Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的.可以把这个理解为:夫妻对 * Collection集合存储元素是单独出现的, ...
随机推荐
- svn 提交报错post-commit hook failed (exit code 23) with output
svn 提交文件,hook同步更新报权限错误 排查后可能原因是被同步的服务器 selinux 已开启. 查看状态命令:/usr/sbin/sestatus -v #如果SELinux status参 ...
- Spring 事务传播行为的使用
...
- 【星云测试】开发者测试(3)-采用精准测试工具对springcloud微服务应用进行穿透测试
1.微服务简介 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接 ...
- iOS利用block实现链式编程方法(Objective-C链式编程)
objc利用block实现链式编程方法 因为不好读.block和其他语言的匿名函数一样,很多程序员刚开始很难主动去用他. 本文描述block作为属性的实际使用,看懂block,并讲解如何利用block ...
- CoreAnimation|动画
IOS开发UI篇--IOS动画(Core Animation)总结 - CSDN博客 iOS动画,绝对够分量! - 简书 iOS动画篇:UIView动画 - 简书 iOS动画开发之五--炫酷的粒子效果 ...
- Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver 这 ...
- ionic3 监听软键盘的高度
ionic1 和普通cordova的大家都知道 就是看ionic3 和4 https://blog.csdn.net/sean_css/article/details/70243893 ionic c ...
- 浏览器窗口输入网址后发生的一段事情(http完整请求)
1.DNS查询得到IP 输入的是域名,需要进行dns解析成IP,大致流程: 如果浏览器有缓存,直接使用浏览器缓存,否则使用本机缓存,再没有的话就是用host 如果本地没有,就向dns域名服务器查询(当 ...
- c++拆分字符,不拆开中文
// ConsoleApplication2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string.h&g ...
- django中models的filter过滤方法
__gt 大于__gte 大于等于 __lt 小于 __lte 小于等于 __in 存在于一个list范围内 __startswith 以...开头 __is ...