我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

java_武浩杰_2021/3/11

[复制链接]
海底月是天上月学员认证 发表于 2021-3-11 19:41:24 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
1.集合:collection
    List (列表):有序、里面的元素可重复,可变长度
                 List是接口,常用的实现类:ArrayList(可变长度的数组)、LinkedList(链接结构)、Vector
                 ArrayList:遍历元素、随机访问元素,效率比较高
                 LinkedList:掺入或者删除元素时,效率比较高
//增加元素
names.add("hh");
// 删除元素
String n = names.remove(0); // 删除下标时返回的是 删除的值
System.out.println("删除索引为0的元素,元素的值为:"+n);
boolean bool= names.remove("cc"); // 删除值的话,返会的是bool值
System.out.println("删除cc的结果:"+bool);
// 修改元素的值
names.set(0,"qq");  //根据索引改列表的值
//获取元素的值,数组用[0]取值,列表用get方法
System.out.println(names.get(0));
//获取列表长度
System.out.println(names.size());
//查询,是否包含某个元素
System.out.println(names.contains("bb")); // 返回的是bool值
2.Set:无序的,不允许重复。Set是接口  TreeSet、HashSet 是用的得比较多的实现类Set<Integer> set = new HashSet<>();
        set.add(1);
        set.add(2);
        set.add(1);  // 重复得元素加不进去。
        System.out.println(set);
        //Set 元素无序,索引无意义,所以没有set.get类方法。
            //  remove.size.contains
            // 只能用 foreach遍历
        List<Integer> aa = Arrays.asList(1,2,3,1,2,3,4,5,2,2);
        List<Integer> bb = quChong(aa);
        System.out.println(bb);
    }
    利用Set不能有重复元素的特点,可以实现对列表去重。
    封装一个静态方法,输入一个列表,对列表去重后,返回列表。
    public static List<Integer> quChong (List<Integer> aa){
        //List 转成Set
        HashSet<Integer>set = new HashSet<>();
        set.addAll((aa));
        //Set 转成List
        List<Integer> bb = new ArrayList<>();
        bb.addAll(set);
        return bb;
3.Map:HashMap. TreeMap 是字典的实现类。Key-value,key不允许重复,是用Set来存放的//<String,String> 分别是key.valu 的类型。
Map<String,String> map = new HashMap<>();
//添加元素
map.put("CNY","人民币");
map.put("USD","美元");
map.put("HKD","港币");
map.put("JPY","日元");
//修改元素
map.put("CNY","Chinese Yuan");
System.out.println(map);
//删除元素 remove ,根据key删除,返回可以对应的valu
System.out.println(map.remove("JPY"));
// 查询key是否存在,containsKey
System.out.println(map.containsKey("GBP"));
//查询key是否存在,containsValue
System.out.println( map.containsValue("港币"));
//根据key取元素,get
System.out.println(map.get("USD"));
System.out.println(map.get("aaa")); //不存在返回null
4.Collections:集合的工具类,提供了方法,操作List,Set,MapList<Integer> nums = Arrays.asList(60,70,80,90,40,20,10);
System.out.println(Collections.max(nums));
System.out.println(Collections.min(nums));
Collections.sort(nums); // 排序,从小到大排序
System.out.println(nums);
//二分查找 ,查不到返回 -(插入点+1)
int index = Collections.binarySearch(nums,40);
System.out.println(index);
//查到返回索引
index = Collections.binarySearch(nums,40);
System.out.println(index);
//翻转列表
Collections.reverse(nums);
//将列表乱序
Collections.shuffle(nums);
5.异常处理:try, catch ,finally, throw ,throwsScanner in = new Scanner(System.in);
System.out.println("输入一个字符串:");
String str = in.next();
//输入的字符串认为是8进制的,将其转成十进制
//非8进制 Java.lang.NumberFormatException
//小数   java.lang.NumberFormatException
try {
    int value = Integer.valueOf(str, 8);
}catch(Exception e ){
    System.out.println(e.getMessage());
} finally{
    System.out.println("执行结束"); // 不管有没有异常,都会执行到
}
Person p = new Person();
//当调用的方法抛出异常时 1.该方法声明抛出一个异常  2.try-catch处理异常
try{
    p.setGender('女');
    p.setGender('鬼');
}catch(Exception e){
    System.out.println(e.getMessage());
    e.printStackTrace();//打印调用栈
        调用栈,也就是方法间的调用关系
        java.lang.Exception: 性别只能是男和女。
        at day05.Person.setGender(Demo06.java:64)
        at day05.Demo06.main(Demo06.java:31)
}
//Java最常见的异常:空指针的异常。
//对象是null,调用里面的方法会出现空指针异常。
Person p1 = null;
//空指针异常一般不用try-cath捕获,而是在调用方法前判空。
if(p1 !=null) {
    p1.setName("aaa");//java.lang.NullPointerException
}

回复

使用道具 举报

关注0

粉丝0

帖子30

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026