25.Map集合
来源:互联网 发布:php 图片缩略图 编辑:程序博客网 时间:2024/05/20 17:41
Map集合常用方法
void clear()
从此映射中移除所有映射关系(可选操作)。
boolean containsKey(Object key)
如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的 Set 视图。
boolean equals(Object o)
比较指定的对象与此映射是否相等。
V get(Object key)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
int hashCode()
返回此映射的哈希码值。
boolean isEmpty()
如果此映射未包含键-值映射关系,则返回 true。
Set keySet()
返回此映射中包含的键的 Set 视图。
Object put(K key, V value)
将指定的值与此映射中的指定键关联(可选操作)。
Object remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
int size()
返回此映射中的键-值映射关系数。
Collection values()
Properties:
(方式二)
void clear()
从此映射中移除所有映射关系(可选操作)。
boolean containsKey(Object key)
如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的 Set 视图。
boolean equals(Object o)
比较指定的对象与此映射是否相等。
V get(Object key)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
int hashCode()
返回此映射的哈希码值。
boolean isEmpty()
如果此映射未包含键-值映射关系,则返回 true。
Set keySet()
返回此映射中包含的键的 Set 视图。
Object put(K key, V value)
将指定的值与此映射中的指定键关联(可选操作)。
Object remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
int size()
返回此映射中的键-值映射关系数。
Collection values()
返回此映射中包含的值的 Collection 视图。
import java.util.*;public class HelloWorld {public static void main(String[] args) {//创建Map集合Map Persons = new HashMap();//默认初始容量16,默认加载因子0.75//存储键值对Persons.put("1000","GJQ");Persons.put("1000","YLZ");Persons.put("1002","GYF");Persons.put("1003","GYC");Persons.put("1004","JACK");Persons.put("1005","TOM");//判断键值对个数//Map 中key是无序不可重复的,和HashSet相同System.out.println(Persons.size());//5//判断集合中是否包含这样的KeySystem.out.println(Persons.containsKey("1000"));//true//判断集合是否包含这样的value//(由此也可以看出相同的K后面的会把前面的覆盖)System.out.println(Persons.containsValue("GJQ"));//false//通过key获取valueString k = "1002";System.out.println(Persons.get(k));//GYF//通过key删除键值对Persons.remove("1000");System.out.println(Persons.size());//4//获取所有的valueCollection values = Persons.values();Iterator it = values.iterator();while(it.hasNext()) {System.out.println(it.next());// 获取所有的keySet keys = Persons.keySet();Iterator it2 = keys.iterator();while(it2.hasNext()) {System.out.println("id--->"+it2.next());}}}}
Properties:
ashMap默认初始化容量 16 ,默认加载因子0.75
Hashtable默认初始化容量11,默认加载因子0.75
java.util.Properties;也是由key和value组成,但两者都是字符串类型
import java.util.*;public class HelloWorld {public static void main(String[] args) {//创建属性类对象Properties p = new Properties();//存p.setProperty("username", "shoot");p.setProperty("password","tiger");p.setProperty("url","www.baidu.com");//取,通过key获取valueString v1 = p.getProperty("username");String v2 = p.getProperty("password");String v3 = p.getProperty("url");System.out.println(v1);System.out.println(v2);System.out.println(v3);}}
TreeMap
自动排序 的实现
(方式一)
import java.util.*;public class HelloWorld {public static void main(String[] args) {//创建SortedSet集合的时候提供一个比较器SortedMap users = new TreeMap();//准备元素User u1 = new User("gyc",18);User u2 = new User("gyf",19);User u3 = new User("ylz",20);User u4 = new User("gjq",21);//添加元素users.put(u1,4);users.put(u2,3);users.put(u3,2);users.put(u4,1);//遍历Set keys = users.keySet();Iterator it = keys.iterator();while(it.hasNext()) {Object k = it.next();Object v = users.get(k);System.out.println(k+"—————>"+v);}}}class User implements Comparable{String name;int age;User(String name,int age){this.name = name;this.age = age;}public String toString() {return "User:"+name+"[age="+age+"]";}public int compareTo(Object o) {int age1 = this.age;int age2 = ((User)o).age;if(age1 < age2) {return 1;}else if(age1 == age2) {return 0;}else {return -1;}}}
(方式二)
/* java.util.Comparator; 单独编写一个比较器 */import java.util.*;public class HelloWorld {public static void main(String[] args) {//创建SortedSet集合的时候提供一个比较器SortedMap users = new TreeMap(new UserComparator());//准备元素User u1 = new User("gyc",18);User u2 = new User("gyf",19);User u3 = new User("ylz",20);User u4 = new User("gjq",21);//添加元素users.put(u1,4);users.put(u2,3);users.put(u3,2);users.put(u4,1);//遍历Set keys = users.keySet();Iterator it = keys.iterator();while(it.hasNext()) {Object k = it.next();Object v = users.get(k);System.out.println(k+"—————>"+v);}}}class User{String name;int age;User(String name,int age){this.name = name;this.age = age;}public String toString() {return "User:"+name+"[age="+age+"]";}}//单独编写一个比较器class UserComparator implements Comparator{//按年龄排序public int compare(Object o1, Object o2){int age1 = ((User)o1).age;int age2 = ((User)o2).age;if(age1 == age2) {return 0; }else if(age1>age2) {return 1;}else {return -1;}}}
阅读全文
0 0
- 25.Map集合
- Map 集合
- Map集合
- Map集合
- map集合
- Map集合
- map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- 人脸对齐
- LCT(Link-Cut-Tree)学习
- Maven项目对象模型(POM)
- JZOJ 5344. 【NOIP2017模拟9.3A组】摘果子
- Eclipse 的 Java Web 项目环境搭建
- 25.Map集合
- 动态规划——求两个字符串子串的个数和最长子串的长度
- 深入理解python多线程与GIL
- Nginx动静分离+负载均衡实现
- 仅允许运行使用网络级别身份验证的远程桌面的计算机连接
- iBATIS SQL Maps之Parameter Map。
- hdu 1213 求树的个数
- ScheduledThreadPoolExecutor详解
- Selenium IDE