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的更多相关文章

  1. 类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。

      类 java.util.Collections 提供了对Set.List.Map进行排序.填充.查找元素的辅助方法. 1. void sort(List) //对List容器内的元素排序,排序的规 ...

  2. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  3. JAVA中关于Map的九大问题

    通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的.下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题. 0.将Map转换为List类型 在java中Map接口提 ...

  4. 【Java进阶】---map集合排序

    map集合排序         这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题.   比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...

  5. (7)Java数据结构--集合map,set,list详解

    MAP,SET,LIST,等JAVA中集合解析(了解) - clam_clam的专栏 - CSDN博---有颜色, http://blog.csdn.net/clam_clam/article/det ...

  6. 集合-强大的集合工具类:java.util.Collections中未包含的集合工具

    任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟 ...

  7. 要点Java20 java.util.Collections

    java.util.Collections 集合帮助类 演示样例程序(JUnit演示) 排序 @Test public void testSort() { List<Integer> de ...

  8. java.util.Collections.unmodifiableMap 示例

    1. 概述 public static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m) ...

  9. JAVA基础之Map接口

    个人理解: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义自 ...

  10. Java集合——Collections工具类

    Java集合——Collections工具类 摘要:本文主要学习了Collections工具类的常用方法. 概述 Collections工具类主要用来操作集合类,比如List和Set. 常用操作 排序 ...

随机推荐

  1. wamp环境下composer及laravel的安装配置

    laravel: PHP Web开发框架 composer: PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 一.composer安装 参考:Windows ...

  2. emacs bookmark(书签)初次使用

    emacs bookmark(书签)初次使用 编辑或者查看多个文件的时候,要想记住刚才在什么地方进行编辑,是很难的.所以emacs的bookmark功能就登场了.你可以在文件的任何地方设置一个书签,然 ...

  3. JavaScript判断是否是数字

    JavaScript判断是否是数字的几种方法 isNaN() /** * 判断是否是数字 */ function isNumber(value){ if(isNaN(value)){ return f ...

  4. [排序][链表]Leetcode147 对链表进行插入排序

    思路: 插入算法的思想很简单,此题比较为链表数据类型,方便的是不用一个一个的向后移动元素,但是找到应该插入的位置相对麻烦,因为链表只有next指针,无法快速定位要插入的位置.在链表前面插入一个空指针, ...

  5. Bn Bp Binder native层关系

    Servicemanager 源码在/frameworks/base/cmds/servicemanager/service_manager.c 编译成 systemmanager 可执行文件 sys ...

  6. 开始认识java

    1.java发展历史                              1991年   詹姆斯·高斯林 (James Gosling)  SUN公司Green项目(消费类电子产品) Oak  ...

  7. prometheus数据可视化

    一.prometheus自带简单的web可视化页面: http://192.168.1.28:9090/graph 二.grafana是一套开源的分析监视平台,支持prometheus等数据源:UI非 ...

  8. pytest-2:allure 的安装、使用

    版本对应: python3.4==>allure-pytest2.7.0 python3.6==>allure0pytest2.8.6 环境安装: 1.先安装好对应的python,准备好p ...

  9. Kvm命令集管理虚拟机

    KVM虚拟机配置文件位置 [root@localhost ~]# ll /etc/libvirt/qemu/ 总用量 drwxr-xr-x root root 12月 : autostart drwx ...

  10. 解决Django-Error: That port is already in use

    Error: That port is already in use. 1.使用python manage.py runserver 8001 开一个新的端口. 2.kill掉原来的端口(在root条 ...