java--set,Collections,map
set
特点:
无序,
不允许重复
没有索引
Set<String> set = new HashSet<String>();
set.add("hello");
set.add("world");
set.add("java");
//遍历
//转数组
Object[] obj = set.toArray();
for(int i=0;i!=obj.length;i++)
{
System.out.println(obj[i]);
}
//迭代器
Iterator<String> it = set.iterator();
while(it.hasNext())
{
String s = it.next();
System.out.println(s);
}
Collections:
Collections 与Collection 的区别:
Collection是集合体系的最顶层,包含了集合体系的共性
Collecions是一个工具集,方法都是用于操作Collection
// static int binatySearch(List list, Object key) // 二分查找
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
int index = Collctions.binarySearch(list, 4);
// static void copy(List desk, List src): 源列表中数据覆盖到目标列表中
// 注意,目标列表的长度,至少等于源列表的长度
List<String> src = new ArrayList<String>();
src.add("hello");
src.add("world");
src.add("java");
src.add("hello");
List<String> desk = new ArrayList<String>();
desk.add("");
desk.add("");
desk.add("");
desk.add("");
Collections.copy(desk,src);
//static void fill(List list,Object obj): 使用指定对象填充列表所有元素
//static void reverse(List list): 反转
//static void shuffle(List list): 随机置换
//static void sort(List list):排序
map
map是具有key和value的集合<key,value>
// Map<String,String> map = new HashMap<String, String>();
// HashMap<String,String> map = new HashMap<String, String>();
// 注意,如果要对自定义类进行去重,需要重写hashCode() 与 equals() 方法
map.put("123456", "xiaoming");
map.put("123113", "xiaohong");
map.put("423115", "lihua");
// value remove(Object key); // map.remove("423115"); 删除对应的key value 返回被删除的 value
// void clear(); // map.clear() 清空所有对应关系
// boolearn containsKey(Object key) // 判断key是否存在
// boolearn containsValue(Object value) // 判断value是否存在
// boolearn isEmpty() // map.isEmpty();
// int size()
// Value get(Object key)
//Set(K) keySet() // 以Set形式返回所有的key
Set<String> keys = map.keySet();
for(String key:keys)
{
System.out.println(key);
}
//Collection() values()
Collection<String> values = map.values();
for(String value:values){
System.out.println(value);
}
//遍历map方式一
Set<String> keys = map.keySet();
for(String key,keys)
{
String value = map.getValue(key);
}
//Set<Map.Entry<K,V> entrySet()> //遍历map的方式二
Set<Map.Entry<String,String>> entrys = map.entrySet();
for(Map.Entry<String,String>> entry,entrys)
{
entry.getKey();
entry.getValue();
}
java--set,Collections,map的更多相关文章
- 类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。
类 java.util.Collections 提供了对Set.List.Map进行排序.填充.查找元素的辅助方法. 1. void sort(List) //对List容器内的元素排序,排序的规 ...
- Java中Set Map List 的区别
java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...
- JAVA中关于Map的九大问题
通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的.下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题. 0.将Map转换为List类型 在java中Map接口提 ...
- 【Java进阶】---map集合排序
map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...
- (7)Java数据结构--集合map,set,list详解
MAP,SET,LIST,等JAVA中集合解析(了解) - clam_clam的专栏 - CSDN博---有颜色, http://blog.csdn.net/clam_clam/article/det ...
- 集合-强大的集合工具类:java.util.Collections中未包含的集合工具
任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟 ...
- 要点Java20 java.util.Collections
java.util.Collections 集合帮助类 演示样例程序(JUnit演示) 排序 @Test public void testSort() { List<Integer> de ...
- java.util.Collections.unmodifiableMap 示例
1. 概述 public static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m) ...
- JAVA基础之Map接口
个人理解: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义自 ...
- Java集合——Collections工具类
Java集合——Collections工具类 摘要:本文主要学习了Collections工具类的常用方法. 概述 Collections工具类主要用来操作集合类,比如List和Set. 常用操作 排序 ...
随机推荐
- Dynamics CRM 客户端程序开发:自定义系统标准按钮的可用性
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复125或者20140414可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 一般是新建一个解决方案用于客制化 ...
- Mac进行Flutter开发的配置
可以参数Flutter中文网提供的方法: https://flutterchina.club/setup-macos/ 使用镜像 由于国内访问Flutter有时会受到限制(博主公司网络自带VPN没有这 ...
- 第三方库Mantle的源码解析
Mantle是一个用于简化Cocoa或Cocoa Touch程序中model层的第三方库.通常我们的应该中都会定义大量的model来表示各种数据结构,而这些model的初始化和编码解码都需要写大量的代 ...
- SmobilerService 开发者日志(一):什么是 SmobilerService ,它为开发者带来了什么价值?
初见 SmobilerService 你会发现几个版本,以及一些价格. 所以,"Smobiler 是要收费了吗?" 这是开发团队在幕后悄悄观察 Service 推广开始后,用户向运 ...
- Python目录和文件处理总结
1.判断目录是否存在.判断文件是否存在.创建目录.重命名目录或文件 import os #获取当前目录路径: E:\Work\Projects\python print(os.getcwd()) #判 ...
- 将网站发布到阿里云的Linux服务器上(简述)
这里以idea的springboot项目为例(打成jar包) 这里去阿里云购买服务器的过程就不说了,自行百度 还有这篇只是简述,因为把一个项目部署到服务器要做的事情还是不少的,然后没学过Linux的建 ...
- ioctl操作
在本书中有两个地方都对这个函数进行了介绍,其实还有很多地方需要这个函数.ioclt函数传统上一直作为纳西而不适合归入其他精细定义类别的特性的系统接口.网络程序(特别是服务器程序)经常在程序启动执行后使 ...
- docker使用,包括有nvidia-docker
docker run 命令:https://www.runoob.com/docker/docker-run-command.html docker run -it ubuntu:15.10 /bin ...
- 详解C++ STL multiset 容器
详解C++ STL multiset 容器 本篇随笔简单介绍一下\(C++STL\)中\(multiset\)容器的使用方法及常见使用技巧. multiset容器的概念和性质 \(set\)在英文中的 ...
- SCOI 2005 互不侵犯
洛谷 P1896 [SCOI2005]互不侵犯 洛谷传送门 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一 ...