Java SE基础(五)

Map

Map用于保存具有映射关系的数据,Map里保存着两组数据:key和value,它们都可以使任何引用类型的数据,但key不能重复。所以通过指定的key就可以取出对应的value。

//创建集合对象
        Map<String,String> map=new HashMap<String,String>();
        //添加元素
        map.put("001","大大");
        map.put("002","小小");
        map.put("003","做做");
        map.put("004","哈哈");
        //删除键值对元素
        System.out.println(map.remove("003"));
        //清空集合中的元素
//        map.clear();
        //判断集合中是否存在指定元素
        System.out.println(map.isEmpty());
        //集合的个数
        System.out.println(map.size());
        //输出集合对象
        System.out.println(map);

List

有序,存储和取出的元素顺序一致

可重复,存储的元素可以重复

遍历方式:

//迭代器
ListIterator<String> lit=list.listIterator();
while (lit.hasNext()){
    String s=lit.next();
    if (s.equals("AAA")){
        lit.add("SSS");
    }
}
System.out.println("=============");
//for循环
for (int i=0;i<list.size();i++){
   Student s= list.get(i);
    System.out.println(s.getName()+","+s.getAge());
}
System.out.println("=============");
//增强for
for (Student s:list) {
    System.out.println(s.getName()+","+s.getAge());
}

数据结构

栈:先进后出

队列:先进先出

数组:查询效率高;删除效率低;添加效率极低

链表:增删快

List集合子类特点:

ArrayList:底层数据列表是数组,查询快,增删慢

LinkedList:底层数据列表是链表,查询慢,增删快.

Set

不包含重复元素的集合;没有索引的方法,所以不能使用for循环遍历

哈希值  HashCode()

根据对象的地址或者字符串或者数字算出来的int类型的数值

同一个对象多次调用HashCode()方法返回的哈希值是相同的;

默认情况下,不同对象的哈希值是不相同的;

通过方法重写,可以实现不同对象的哈希值是相同的.

HashSet集合

特点:

底层数据结构是哈希表;

对集合迭代顺序不作任何保证,也就是说不保证存储和取出的元素顺序一致;

没有带索引的方法,所以不能使用普通for循环遍历;

由于是set集合,所有是不包含重复元素的集合.

要保证元素的唯一性,需要重写hashcode()和equals()

TreeSet

不能使用普通的for循环进行排序

泛型

它的本质是参数化类型,将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型

泛型类,泛型方法,泛型接口

优点:把运行时期的问题提前到了编译时期;避免类前值类型转换.

泛型类格式:

修饰符 class 类名<类型>{  }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值