#千锋逆战班,2020.3.5#
作者:互联网
在千锋学习的第24天
每一发奋努力的背后,必有加倍的赏赐,
今天学习了泛型的用法和相关案例。
继续努力!
##总结:
7.泛型集合【重点-解决应用问题】:
I.概念:参数化类型、类型安全的集合,强制集合元素的类型必须一致。
II.特点:
1).编译时即可检查,而非运行时抛出异常。
2).访问时,不必类型转换(拆箱)。
3).不同泛型之间引用不能相互赋值,泛型不存在多态。
8.泛型:高级类别的知识,熟练应用,需要时间、经验的积累(常用名称:E = Element / T = Type / K = Key / V = Value)
I.概念:约束-规范类型II.泛型的场景:
1).定义泛型:
A).实例泛型:
a).类:创建对象时,为类所定义的泛型,进行参数化赋值
b).接口:实现接口时,为接口所定义的泛型,进行参数化赋值
B).静态泛型:
a).定义在方法的返回值类型前面:、、<T extends Comparable>、<T extends Comparable<? super T>>
2).定义在方法的形参列表当中:<?>、<? extends Object>、<? super Integer>,不支持使用&9.Collections工具类:概念:集合工具类,定义了除了存取以外的集合常用方法。
I.public static <T extends Comparable<? super T>> void sort(List list) //排序,要 求:必须 实现Comparable,必须 可与自 身类 型比,以及 父类类 型比
II.public static void reverse(List<?> list) //反转、倒置元素
III.public static void shuffle(List<?> list) //随机重置顺序
经验:一级目标能看懂、能调用,二级目标能定义、能设计
##课后习题:
11、C
12、
import java.util.Scanner;
public class Homework12 {
public static void main(String[] args) {
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
java.util.Random r = new java.util.Random();
StringBuilder str =new StringBuilder();
char []b = new char[3];
for (int i = 0; i < a; i++) {
b[0] = (char) (48+r.nextInt(10));
b[1] = (char) (65+r.nextInt(26));
b[2] = (char) (97+r.nextInt(26));
str.append(String.valueOf(b[r.nextInt(3)]));
}
System.out.println(str);
}
}
13、
public class Homework13 {
public static void main(String[] args) {
String str = "hello world word health";
if(str.contains("he")){
for (int j = 0; j < str.length(); j++) {
if(str.indexOf("wo",j)!=str.indexOf("wo",j+1)){
System.out.println(j);
}
}
}
}
}
14、
import java.util.ArrayList;
import java.util.List;
public class Homework14 {
public static void main(String[] args) {
List<Student>list=new ArrayList<Student>();
list.add(new Student("Tom",18,100,"class05"));
list.add(new Student("Jerry",22,70,"class04"));
list.add(new Student("Owen",25,90,"class05"));
list.add(new Student("Jim",30,80,"class05"));
list.add(new Student("Steve",28,66,"class06"));
list.add(new Student("Kevin",24,100,"class04"));
int allage=0;
double allscore =0;
for (int i = 0; i < list.size(); i++) {
allage = allage+list.get(i).age;
allscore = allscore+list.get(i).score;
}
int aveage = allage/list.size();
double avescore = allscore/list.size();
System.out.println(aveage);
System.out.println(avescore);
}
}
class Student{
String name;
int age;
double score;
String classNum;
public Student(String name, int age, double score, String classNum) {
super();
this.name = name;
this.age = age;
this.score = score;
this.classNum = classNum;
}
}
标签:千锋,String,list,2020.3,逆战班,str,泛型,new,public 来源: https://blog.csdn.net/Zqs456/article/details/104683809