Map集合(特点,遍历方式),HashMap,工具类,泛型

{null=12, a=1, c=5, d=4}                    改

1                                                        查,输出value

2.Map集合的遍历方式

================

entrySet

//先获取map集合的映射关系

Set<Entry<String, Object>> entrySet = map.entrySet();//set集合里面放的是关系

for (Entry<String, Object> entry : entrySet) {

System.out.println(“key:” + entry.getKey() + “;value+” + entry.getValue());

}

keySet

//先获取map集合中所有的key

Set keys = map.keySet();

for (String key : keys) {

System.out.println(“key:” + key + “;value+” + map.get(map));

}

treemap----排序

3.常用实现类HashMap

==================

统计字符串各字母出现的次数,举例如下:

**String a = “agahajakaiagdhjsgdimcjxkshxnmmchudnjgsaaahdisiudjdksh”;

char[] chars = a.toCharArray();

Map<Character, Integer> map = new HashMap<Character, Integer>();

for (char c : chars) {

Integer num = map.get©;

if (num == null || num == 0) {// int类型默认值为0,即当该字符第一次出现

map.put(c, 1);// 设置为1

} else {// 反之不是第一次出现

map.put(c, num + 1);

}

}

Set<Entry<Character, Integer>> entrySet = map.entrySet();

for (Entry<Character, Integer> entry : entrySet) {

System.out.println(entry.getKey() + “出现了” + entry.getValue() + “次”);

}**

控制台输出为:

a出现了9次

c出现了2次

d出现了6次

g出现了4次

h出现了6次

i出现了4次

j出现了5次

k出现了3次

m出现了3次

n出现了2次

s出现了5次

u出现了2次

x出现了2次

4.泛型

====================================================

作用:将运行产生的异常转换为编译器的错误;提高代码健壮性

Map<String, Object> map = new HashMap<>();

map.put(“a”, 1);// 增加(key值,value)键值对的形式存在

map.put(“b”, 2);

map.put(“c”, 3);

map.put(“d”, 4);

map.put(“e”, 5);

// map.put(“f”, “小宝”);

// 编译不报错,运行会报错, java.lang.String cannot be cast to java.lang.Integer

// String不能转化为Integer

// 筛选出value为偶数对应的key值

Set<Entry<String, Object>> entrySet = map.entrySet();

for (Entry<String, Object> entry : entrySet) {

Object value = entry.getValue();

Integer val = (Integer) value;

if (val % 2 == 0) {

System.out.println(“偶数对应的key值为:” + entry.getKey());

}

}

泛型类:通用增删改查的思考

class common{

public List list(Object o){

System.out.println(“aaaaa”);

return null;

}

}

class book{

}

class order{

}

class bookdao extends common{

}

class orderdao extends common{

}

当bookdao和orderdao同时继承common类时,为了区分是book还是order,可使用泛型类

class common{

public List list(T t){

System.out.println(“aaaaa”);

return null;

}

}

class book{

}

class order{

}

class bookdao extends common{

@Override

public List list(book t) {

// TODO Auto-generated method stub

return super.list(t);

}

}

class orderdao extends common{

@Override

public List list(order t) {

// TODO Auto-generated method stub

return super.list(t);

}

}

重写list方法时,会将各自的泛型字符带上,方便区分

对于common类来说,被继承类写出的方法里,括号里面是什么就代表什么

5.集合框架工具类

=================================================

Connections


排序:

public class Demo5 {

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(new Students(“hpw”, 26));

list.add(new Students(“wyf”, 36));

list.add(new Students(“dmz”, 16));

Collections.sort(list, new Comparator() {

@Override

public int compare(Students o1, Students o2) {

// TODO Auto-generated method stub

return o1.getAge() - o2.getAge();// 年龄从低到高排列

}

});

list.toArray();

for (Object o : list) {

System.out.println(o);

}

}

}

class Students {

private String name;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Students(String name, int age) {

super();

this.name = name;

this.age = age;

}

@Override

public String toString() {

return “Student [name=” + name + “, age=” + age + “]”;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + age;

result = prime * result + ((name == null) ? 0 : name.hashCode());

return 0;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-r3eThV3i-1713546367106)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

[外链图片转存中…(img-YKcSchsA-1713546367106)]

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

[外链图片转存中…(img-aO1K83f3-1713546367106)]

  • 29
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值