集合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集合存储元素是单独出现的, ...
随机推荐
- Linux-- 查看文件 more与其它
more 翻页查看 用法:more 文件名 nl 显示行号打印(不常用) 1.不打印空白行行号:nl -b t 文件名 类似 cat -b 文件名 2.打印所有行行号:nl -b a 文件名 类似 c ...
- mysql如何把一个表直接拷贝到一个新的表
一:在新表已经建立好的情况下 1,拷贝所有的字段 insert into new_table select * from old_table 2,拷贝部分字段表 insert into new_tab ...
- 在js中获取页面元素的属性值时,弱类型导致的诡异事件踩坑记录,
前几天写一个js的时候遇到一个非常诡异的事情,这个问题是这样的,我要获取一个页面的DOM元素的val值,判断这个值是否比某个变量大,这个需求原先数字最大也就是10,现在要改了,可能会更多,这个时候我发 ...
- flask中请求勾子
请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: *在请求开始时,建立数据库连接; *在请求开始时,根据需求进行权限校验; *在请求结束时,指定数据的交互格式; 为了让每 ...
- 如何发布自己模块到NPM
创建项目 npm init name: (my-npm) version: (1.0.0) description: 0.0.1 entry point: (index.js) test comman ...
- centos 安装 telnet
(转)centos7安装telnet服务 场景:在进行Telnet测试时候,发现无法连接,所以还得把这个软件也安装了 1 CentOS7.0 telnet-server 启动的问题 解决方法: 先 ...
- hive表查询中文显示乱码
hive在查询表信息时,中文显示乱码,数字或者url显现null问题解决思路. 1.确定create hive表时指定的row format delimited fields terminated b ...
- android studio 调试技巧(简直太好用)
android studio 调试技巧(简直太好用) 说到android studio的调试,很多人可能会说,这有什么可讲的不就是一个断点调试么,刚开始我也是这么认为的,直到我了解之后,才发现,调试原 ...
- 旁听<基因编辑与精准医疗>(北京大学)
昨天去北大生命科学院听了一场魏文胜教授关于基因方面的讲座.会场人不算太多,比起上次听城市规划,场面略显冷清.也能从一个侧面反映,关注基础科学领域的人虽然有,但是不是很多. 开场魏教授用了宣传海报作为导 ...
- golang基础--Interface接口
接口是一个或多个方法签名名的集合,定义方式如下 type Interface_Name interface { method_a() string method_b() int .... } 只要某个 ...