java集合:map

1.3Map接口中的常用方法

put方法:将指定的键与值对应起来,并添加到集合中
方法返回值为键所对应的值
使用put方法时,若指定的键(key)在集合中没有,则没有这个键对应的值,返回null,并把指定的键值添加到集合中;
使用put方法时,若指定的键(key)在集合中存在,则返回值为集合中键对应的值(该值为替换前的值),并把指定键所对应的值,替换成指定的新值。
get方法:获取指定键(key)所对应的值(value)
remove方法:根据指定的键(key)删除元素,返回被删除元素的值(value)。
Map接口的方法演示
public class MapDemo {
public static void main(String[] args) {
//创建Map对象
Map<String, String> map = new HashMap<String,String>();
//给map中添加元素
map.put(“星期一”, “Monday”);
map.put(“星期日”, “Sunday”);
System.out.println(map); // {星期日=Sunday, 星期一=Monday}

	//当给Map中添加元素,会返回key对应的原来的value值,若key没有对应的值,返回null
	System.out.println(map.put("星期一", "Mon")); // Monday
	System.out.println(map); // {星期日=Sunday, 星期一=Mon}

	//根据指定的key获取对应的value
	String en = map.get("星期日");
	System.out.println(en); // Sunday
	
	//根据key删除元素,会返回key对应的value值
	String value = map.remove("星期日");
	System.out.println(value); // Sunday
	System.out.println(map); // {星期一=Mon}

1.4Map集合遍历键找值方式 (重点)

1.使用keyset 获取到所有的map的键,然后通过这个键去便可里这些值;( get(key) 返回的就会是一个值)
可以使用增强for 来遍历这个key
eg:
Map <String ,string> map = new HashMap<string,string>();
map.put(“邓超”, “孙俪”);
map.put(“李晨”, “范冰冰”);
map.put(“刘德华”, “柳岩”);

set keyset = map.keySet() ; // 这个就是调用KeySet() 获取到所有的 键;
iterator it = keyset.iterator();
while( it.hasnext()) {
String key =it.next ();
String value = map.get (key) ;
sout (key +“” + value) ;

map还提供 一个封装的相关的类:
1.5Entry键值对对象在Map类设计时,提供了一个嵌套接口:Entry。Entry将键值对的对应关系封装成了对象。即键值对对象,这样我们在遍历Map集合时,就可以从每一个键值对(Entry)对象中获取对应的键与对应的值。

使用这个接口中的方法就可以快速的获取相关的内容了;

getKey()方法:获取Entry对象中的键
getValue()方法:获取Entry对象中的值

entrySet()方法:用于返回Map集合中所有的键值对(Entry)对象,以Set集合形式返回。

步骤:

首先使用: entrySet() 方法 : 获取到map 中的所有键值对对象,以Set集合形式返回;
然后getKey ()
然后再getvalue () 就可以;

第二种遍历方法: 通过键值对

eg: 

Map <String ,string> map = new HashMap<string,string>();
map.put(“邓超”, “孙俪”);
map.put(“李晨”, “范冰冰”);
map.put(“刘德华”, “柳岩”);
Set<map.entrySet<stirng,string>> entrySet= map.entrySet();
Iterator<Map.Entry<String,String>> it =entrySet.iterator();
while(it.hasNext()){
//得到每一对对应关系
Map.Entry<String,String> entry = it.next();
//通过每一对对应关系获取对应的key
String key = entry.getKey();

注意:当给HashMap中存放自定义对象时,如果自定义对象作为key存在,这时要保证对象唯一,必须复写对象的hashCode和equals方法(如果忘记,请回顾HashSet存放自定义对象)。

如果要保证map中存放的key和取出的顺序一致,可以使用LinkedHashMap集合来存放。

Collections 是一个关于集合的工具类: 提供了很多关于对集合进行操作的方法; 如排序之类的;

1.10Collections集合工具类
Collections是集合工具类,用来对集合进行操作。部分方法如下:

public static void sort(List list) // 集合元素排序
//排序前元素list集合元素 [33,11,77,55]
Collections.sort( list );
//排序后元素list集合元素 [11,33,55,77]

public static void shuffle(List<?> list) // 集合元素存储位置打乱
//list集合元素 [11,33,55,77]
Collections.shuffle( list );
//使用shuffle方法后,集合中的元素为[77,33,11,55],每次执行该方法,集合中存储的元素位置都会随机打乱

集合整体的情况:在这里插入图片描述

Collections中的方法:
public static void sort(List list) 排序
public static void shuffle(List<?> list) 集合中的元素存储位置随机打乱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值