java map addall_Java基础Map接口+Collections工具类

1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap

(1)其中LinkedHashMap是有序的  怎么存怎么取出来

我们讲一下Map的增删改查功能:

/** Map集合的添加*/Map map = new HashMap();

map.put("星期一", "Monday");

map.put("星期六", "Sunday");

System.out.println(map);/** 通过建 获取值*/String string= map.get("星期六");

System.out.println(string);/** 通过建 修改值*/map.put("星期一", "Mon");

System.out.println(map);/** 通过建 删除值*/String remove= map.remove("星期六");

System.out.println(remove);

System.out.println(map);

}

以上就是Map的增删改查方法

2.Map的遍历

1.第一种:通过keySet()方法获取集合的所有建 存储在Set<>集合中

(1)增强for

(2)迭代器

Map map =new LinkedHashMap();

map.put("一", '1');

map.put("二", '2');

map.put("三", '3');

map.put("四", '4');

map.put("五", '5');

Set set = map.keySet();

(1)增强for

for (String string : set) {

System.out.println(string+" "+map.get(string));

}

(2)迭代器

Iterator iterator = set.iterator();

while(iterator.hasNext()){

String str=iterator.next();

Integer integer = map.get(str);

System.out.println(str+"   "+integer);

}

第二种 通过 Map.Entry    在Map类设计时,提供了一个嵌套接口:Entry。  Entry将键值对的对应关系封装成了对象。

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

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

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

(1)增强for

Set> entries = map.entrySet();

for (Entry entry : entries) {

String str = entry.getKey();

Character character = entry.getValue();

System.out.println(str+"   "+character);

}

(2)迭代器

Set> entries = map.entrySet();

Iterator> iterator = entries.iterator();

while(iterator.hasNext()){

Entry entry = iterator.next();

System.out.println(entry.getKey()+"  "+entry.getValue());

}

3.Map之嵌套

我们在嵌套Map中传入引用类型Person  这里记得要重写equlas与HashCode方法

private static voidfun6() {

Map map1 = new LinkedHashMap();

map1.put(new Person("黄晓明", 40), "北京");

map1.put(new Person("AnlayBay", 36), "北京");

Map map2 = new LinkedHashMap<>();

map2.put(new Person("宋江",40), "梁山");

map2.put(new Person("林冲",40), "豹子头");

Map, String> map = new LinkedHashMap<>();

map.put(map1,"第一组");

map.put(map2,"第二组");for (Entry, String>zhu: map.entrySet()) {

String value=zhu.getValue();for (Entryentry : zhu.getKey().entrySet()) {

Person key=entry.getKey();

String value2=entry.getValue();

System.out.println(value+".."+key+".."+value2);

}

}

}/*** 迭代器遍历*/

private static voidfun5() {

Map map1 = new LinkedHashMap();

map1.put(new Person("黄晓明", 40), "北京");

map1.put(new Person("AnlayBay", 36), "北京");

Map map2 = new LinkedHashMap<>();

map2.put(new Person("宋江",40), "梁山");

map2.put(new Person("林冲",40), "豹子头");

Map, String> map = new LinkedHashMap<>();

map.put(map1,"第一组");

map.put(map2,"第二组");

Set> set =map.keySet();

Iterator> iterator =set.iterator();while(iterator.hasNext()){

Map next =iterator.next();

String string=map.get(next);

Set persons =next.keySet();

Iterator iterator2 =persons.iterator();while(iterator2.hasNext()){

Person next2=iterator2.next();

String string2=next.get(next2);

System.out.println(string2+" "+next2+" "+string);

}

}

}

这里我补充一个集合的工具类

Collections

public static voidmain(String[] args) {

ArrayList arrayList = new ArrayList<>();

arrayList.add("a");

arrayList.add("s");

arrayList.add("g");

arrayList.add("d");//排序

Collections.sort(arrayList);

System.out.println(arrayList);//翻转

Collections.reverse(arrayList);

System.out.println(arrayList);//打乱顺序

Collections.shuffle(arrayList);

System.out.println(arrayList);//二分查找

List integers = new ArrayList<>();

Collections.addAll(integers,1,2,3,4,5,7,8);

System.out.println(integers);int binarySearch = Collections.binarySearch(integers, 6);

System.out.println(binarySearch);//打乱shuffle

Collections.shuffle(integers);

System.out.println(integers);

}

今天大部分用代码展示了,不多做介绍,集合这一模块  无非就是增删改查   还有遍历,我在学习的过程中  基本每一个集合的方法我都会敲十遍加深印象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值