第十一章:集合(二)

  1. Map类型集合:

    1. Map类型的集合每个元素都有两个信息:键  ,  值

    2. Map中键不能相同。一个键映射一个值。

    3. 键,值默认为Object类型。

    4. put(键,值) 是Map集合添加元素的方法。

    5. get(键)  返回值

    6. remove(键)  删除值。

    7. containsKey(键)  判断键。


  2. Collections工具类

    1. Conllections 主要用于List类集合。

    2. Conllections.sort(List)  对List集合中的元素按升序排列。

    3. Conllections.reverse(List)  倒序

    4. Conllections.max()  找出最大元素,返回值是Object类型。也可用在set中。

    5. Conllections.min()  找出最小元素,返回值是Object类型。也可用在set中。

  3. Arrays工具类

    1. asList() 将数组转换为List类型集合。

    2. binarySearch()  二分查找。

    3. sort()  数组排序。

  4. 泛型

    1. 不固定的数据类型。

    2. 声明:类名后加<泛型1,泛型2,泛型3,...>

[修饰符]  {class/interface}  类/接口  <泛型1,泛型2,泛型3,...>

泛型默认是Object类型。泛型只能是引用数据类型。



作业1

使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数,要求使用学习过的知识完成以上要求

实现思路根据Set、List、Map集合的特性完成

 

import java.util.HashSet;

import java.util.Scanner;

import java.util.Set;


public class ZY1 {


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String s = sc.nextLine();

char[] ch = s.toCharArray();

HashSet a = new HashSet();

for(int i=0;i<ch.length;i++){

a.add(ch[i]);

}

for (Object o : a) {

int j = 0;

char  b=(Character) o;

for (int i = 0; i < ch.length; i++) {

if (b== ch[i]) {

j++;

}

}

System.out.println(b + "," + j);

}

}

}



作业2

某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性、班级名称属性(String)和考试成绩属性(int),

某次考试结束后,每个学生都获得了一个考试成绩。请打印出每个班级的总分和平均分。

 


import java.util.ArrayList;


public class ZY2 {

String name;

String banji;

double chengji;


public  ZY2(String name,String banji,double chengji){

this.name=name;

this.banji=banji;

this.chengji=chengji;

}


public static void main(String[] args) {

double zong1=0;

double zong2=0;

int renshu1=0;

int renshu2=0;

ZY2 zhangs=new ZY2("张三","一班",33);

ZY2 wangkai=new ZY2("王凯","二班",83);

ZY2 liushaojie=new ZY2("刘绍杰","二班",88);

ZY2 lisi=new ZY2("李四","一班",45);

ZY2 xudesheng=new ZY2("许德生","一班",85);

ArrayList<ZY2> a=new ArrayList<ZY2>();

a.add(zhangs);

a.add(wangkai);

a.add(liushaojie);

a.add(lisi);

a.add(xudesheng);

for(int i=0;i<a.size();i++){

if(a.get(i).banji=="一班"){

zong1=zong1+a.get(i).chengji;

renshu1++;

}else if(a.get(i).banji=="二班"){

zong2=zong2+a.get(i).chengji;

renshu2++;

}

}

System.out.println("一班的总成绩是:"+zong1+" 平均成绩是:"+zong1/renshu1);

System.out.println("二班的总成绩是:"+zong2+" 平均成绩是:"+zong2/renshu2);


}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值