core java--day11(List,map,集合对比总结图,泛型,反射)

复习:1,包装器 Integer //把字符串转换为数字 Integer.parseInt(); jdk1.5 自动装箱 Integer a = Integer.valueOf("123"); Integer a = 123; 自动拆箱 : int b = a.intValue(); int b = 1; Integ...
摘要由CSDN通过智能技术生成

复习:

1,包装器
   Integer
   //把字符串转换为数字
   Integer.parseInt();

   jdk1.5 自动装箱
   Integer a = Integer.valueOf("123");
   Integer a = 123;
   
   自动拆箱 :
   int b = a.intValue();
   int b = 1;
   
   Integer i = 128;
   Integer o = 128;
   i==o  false      i>-128&&i<=127
            new Integer(i);

集合 :
    set :
    1,无序
    2,不能重复
    list
    1,有序:添加的顺序
    2,能重复
    map
        1,key - value
    2,key 唯一
    3,value 可以相同

  Collection      map
  list  set       map
  
  Collection:
      add();
      remove();
      contains();
      size();
      clear();
      iterator();迭代器

 HashSet:
    Hash表 : HashCode 不同, 保存
         HashCode 同  , equals 

 TreeSet : 可以排序的set集合
      手动制定排序规则。
      Comparator<> com = new Comparator(){
          int compare(o1,o2){
       -1  o1 <  o2
       1   o1 >  o2
       0   o1 == o2
        return 1  -1   0;
      }
      };
      new TreeSet(com);

自然排序:
    设计者,在构建项目给类(对象)指定排序规则.
      1,构建类 javaBean : 只用来封装数据的类
        public class Student{
      private int id;
      private String name;
    }
      2,实现Comparable<类>
      3,重写compareTo方法
      4,构建TreeSet对象
      5,使用TreeSet对象 添加 Student对象


10.8 List : 线性方式(数组)存储.
    10.8.1:ArrayList : 代表长度可变的数组。允许对元素进行快速的随机访问,但是向ArrayList中插入与删除元素的速度较慢;
    10.8.2:LinkedList: 在实现中采用链表结构。对顺序访问进行了优化,向List中插入和删除元素的速度较快,随机访问速度则相对较慢。
    10.8.3:Vector    : 是线程安全的集合
    10.8.4:集合操作实例
        注意:在使用List接口的时候注意导包.需要导入的是java.util.List包。
        List list =new ArrayList();
        list.add("小明");
        list.add("小红");
        list.add("小明");
        list.add("小红");

        list.size();
        list.remove(index);
        list.remove(object);
        
        Iterator it = list.iterator();
        while(it.hashNext()){
            String name = (String)(it.next());
        }

        list.get(index);

        for(int i = 0;i<list.size();i++){
            String name = list.get(i);
        }

10.9: forEach 遍历 Collection集合--> 加强for循环
    for(String s : set){
        syso(s);
    }
10.10:Map  :  
      1,把键对象和值对象进行映射的集合,  它的每一个元素都包含一对键对象和值对象。
      2,向Map集合中加入元素时,   必须提供一对键对象和值对象. 
    map.put(key,value);
      3,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。
       value = map.get(key);
      4,Map集合中的键对象不允许重复, 如果有多个相同的key那么上一次的值会被覆盖。
   
   10.1: HashMap  :是线程不安全的集合。
   10.2: HashTable:是线程安全的集合。
   10.3: TreeMap  :可以进行排序(对key进行排序)

 

hashmap与hashtable的区别:

hashmap是非线程安全的,适合与单线程环境;键和值都允许有null存在;

hashtable是线程安全的,是同步的,适合于多线程环境,但效率低;

hashtable是遗留类,有很多内部实现没有优化,一般不用

  
   10.4: HashMap  : 
    判断key是否相同是

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值