Java集合中的框架2

Java集合中的框架2

一、HashMap类和Hashtable类的用法TreeMap与ConcurrentHashMap

Map接口--集合接口--主要处理的是键值对结构的数据

键值对结构的数据---就是一个完成的数据是由键和键所对应的值组合而成的数据

例如:

  书的目录就是一种键值对结构

 【标题----页码】

 

Map接口下的子类

1.HashMap类--public class HashMap基于哈希表的实现的Map接口

允许null的值和null键

数据保存是无序的

不能有重复的键,重复的键被算作是一个数据。

构造方法:

HashMap() 构造一个空的 HashMap ,默认初始容量(16)和默认负载系数(0.75)。

HashMap(int initialCapacity) 构造一个空的 HashMap具有指定的初始容量和默认负载因子(0.75)。

HashMap(int initialCapacity, float loadFactor) 构造一个空的 HashMap具有指定的初始容量和负载因子。

HashMap(Map<? extends K,? extends V> m) 构造一个新的 HashMap与指定的相同的映射 Map 。

package com.wangxing.hashmaptest;

import java.util.HashMap;

public class HashMapTest1 {
	public static void main(String[] args) {
		//Map 接口下的子类
		//HashMap类
		//允许null的值和null键
		//数据保存时无序的
		//不能有重复的键,重复的键被算作是一个数据
		//构造方法:
		//HashMap()构造一个空的HashMap,默认初始容量(16)和默认负载系数(0.75)
		  HashMap<Object, Object> hashMap=new HashMap<>();
		  
		  //HashMap(int initialCapacity)构造一个空的HashMap具有指定的初始容量和默认负载因子(0.75)
		  HashMap<Object, Object> hashMap2=new HashMap<>(30);
		  
		  //HashMap(int initialCapacity,float loadFactor)构造一个空的HashMap具有指定的初始容量和指定的负载因子
		  HashMap<Object, Object> hashMap3=new HashMap<>(30, 0.5F);
		  
		  //HashMap(Map m)构造一个新的HashMap与指定的相同的映射Map
		  HashMap<Object, Object> hashMap4=new HashMap<>(hashMap3);
		  
		  
	}

}

实例方法:

void

clear() 清空集合。

Object

put(Object key, Object value) 向集合中添加键值对数据

boolean

containsKey(Object key) 判断集合中是否包含指定的键

boolean

containsValue(Object value) 判断集合中是否包含指定的值

Object 

get(Object key) 根据指定的键得到该键对应的值

boolean

isEmpty() 判断集合是否为空。

int

size() 得到集合中键值对元素的个数

V

remove(Object key)  根基指定的键删除对应的键值对数据值

Set

keySet() 得到集合中所有的键保存到Set集合中

Collection

values() 得到集合中所有的值保存到Collection集合中 

Set<Map.Entry<K,V>>

entrySet() 得到集合中所有的键值对数据Set集合中

package com.wangxing.hashmaptest;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class HashMapTest2 {
		public static void main(String[] args){
			//HashMap类的常用实例方法
			//允许null的值和null键
			//数据保存是无序的
			//不能有重复的键,重复的键被算作是一个数据
			HashMap<Object, Object> hashMap=new HashMap<>();
			//Object put(Object key,Object value)向集合中添加键值对数据
			hashMap.put("hello", 1234);
			hashMap.put(1234, "hello");
			hashMap.put(12.5, true);
			hashMap.put(false, 123.1);
			hashMap.put(null, "null键");
			hashMap.put("null值", null);
			hashMap.put(null, null);//会被算作一个
			
			// int  size()得到集合中键值对元素的个数
			System.out.println("size=="+hashMap.size());
			
			//boolean  containsKey(Object key)判断集合中是否包含指定的键
			String containsKey=(hashMap.containsKey("helloworld"))?"存在":"不存在";
			System.out.println("containskey=="+containsKey);
			
			//boolean  containsValue(Object value)判断集合中是否存在指定的值
			String  containsValue=(hashMap.containsValue("helloworld"))?"存在":"不存在";
			System.out.println("containsvaule=="+containsVa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值