萌新学Java之初入门径四

泛型

标识着集合中储存元素的数据类型
写法:<数据类型(泛型)>

泛型的好处:

1.保证数据的安全性(提示你方法中传入参数类型)
2.避免进行向下转型(类型强转)
3.将运行时的错误 转化到编译时报错

  1. //创建一个集合 保存 a b c d
    //E 泛型 Element(元素)
    //注意:前后泛型的类型要一致(如果要填的话)
    //jdk1.7 菱形泛型
    //后面泛型可以不填 默认跟前面泛型类型一直
    ArrayList<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    
    //迭代器遍历
    //迭代器泛型表示 集合中保存元素的类型
    Iterator<String> iterator = list.iterator();
    while (iterator.hasNext()) {
        String string = (String) iterator.next();
        System.out.println(string);
    }
    

2.// 创建集合 保存3学生
// 获取集合中的第0个学生 并打印姓名

ArrayList list = new ArrayList<>();
list.add(new Student(“gorilla1”,20));
list.add(new Student(“gorilla2”,25));
list.add(new Student(“gorilla3”,30));
Student student = list.get(0);
System.out.println(student.getName());

3.//创建泛型类的对象

Worker worker = new Worker<>();
worker.setW(“gorilla”);
System.out.println(worker.getW());
worker.fun(“咱们工人有力量”);
Worker.fun2(“有力量”);

4.//多参数方法 int … num
//可以接受多个int类型值 相当于参数是个数组
//调用方式:
//1.传入 多个值 用逗号隔开
//2.直接传入数组
//注意:多参数 方法列表放在最后

public static void print(int … num) {
//遍历
for (int i = 0; i < num.length; i++) {
System.out.println(num[i]);
}
}
//调用多参数方法
print(1,2,3,4,5);
int[] array = {1122,34,23,4,567,43};
print(array);

5.异常
// 创建一个字符串数组 保存三个名字
// 将数组 转成集合
// 添加一个名字

String[] array3 = {“gorilla”,”dasa”,”sdads”};
List list3 = Arrays.asList(array3);
System.out.println(list3);

    //UnsupportedOperationException
    //不支持操作异常
    //注意:该方法 转成集合后 不能对集合进行长度修改

// list3.add(“sas”);
// System.out.println(list3);
//此方法意义在于 可以使用集合类的方法

boolean b = list3.contains(“gorilla”);
System.out.println(b);

6.删除的两种方式

1.循环删除

ArrayList list2 = new ArrayList<>();
//循环删除”b”
for (String string : list) {
if (string.equals(“b”)) {
continue;
}
list2.add(string);
}
System.out.println(list);
System.out.println(list2);

2.//删除 (使用迭代器的删除方式

Iterator iterator = list.iterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
if (string.equals(“b”)) {
//删除 (使用迭代器的删除方式
iterator.remove();
}
}
System.out.println(list);

7.排序
/*
* 创建集合 保存三个学生
* 按年龄降序 排序
*/

ArrayList list = new ArrayList<>();
list.add(new Student(“gorilla1”,10));
list.add(new Student(“gorilla2”,20));
list.add(new Student(“gorilla3”,35));
list.add(new Student(“gorilla4”,30));
list.add(new Student(“gorilla5”,15));

    for (int i = 0; i < list.size() - 1; i++) {
        for (int j = i + 1; j < list.size(); j++) {
            if (list.get(i).getAge() > list.get(j).getAge()) {
                Student student = list.get(i);
                list.set(i, list.get(j));
                list.set(j, student);
            }
        }
    }

8.Set集合

Set集合(无序 无下标 不重复)

HashSet去重

//创建Set集合 添加 a a b b c c

HashSet set = new HashSet<>();
set.add(“a”);
set.add(“a”);
set.add(“b”);
set.add(“b”);
set.add(“c”);
set.add(“c”);

//迭代器遍历
>   Iterator<String> iterator = set.iterator();
    while (iterator.hasNext()) {
        String string = (String) iterator.next();
        System.out.println(string);
    }

9.set集合去重
/*
* 创建Set保存 6个man 两两相同
* 去重
*/

HashSet set = new HashSet<>();
set.add(new Man(“gorilla”,10));
set.add(new Man(“gorilla”,10));
set.add(new Man(“gorilla1”,15));
set.add(new Man(“gorilla1”,15));
set.add(new Man(“gorilla2”,20));
set.add(new Man(“gorilla2”,20));
System.out.println(set);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值