List Set Map

java 杂记

  • Arrays.sort()实现对引用类型数组的排序 ,两种方案:
    • 该类实现comparable接口,直接调用Arrays.sort(ps);
    • 定义一个比较器实现comparator接口,调用sort方法时传入比较器,Arrays.sort(ps,new PersonComparetor());
  • Arrays.asList可以将数组转换为list

  • Date d = new Date–> Calendar c = new GregorianCalendar();Date转Calendar
    • 创建打酱油对象new GregorianCalendar()对象,
    • 调用setTime(Date d)即:c.setTime(d)
  • Calendar c = new GregorianCalendar() --> Date d = new Date;Calendar转Date
    • d = c.getTime();

  • List 元素绑定下标,元素可重复,长度可变
    • ArrayList 底层数组实现,线程不安全,访问和设置效率高,删除和插入效率低。

    • LinkedList 底层是用双向向链表实现,线程不安全,和ArrayList相比,访问设置效率低,删除和插入效率高。

    • Vector:底层用数组实现,线程安全

      数组转List: Arrays.asList(T…a)
      List转数组:toArray() || toArray(T[] a)

    遍历List
    • for
    • for each
    • Iterator
   private static void test2() {
       List list = new ArrayList<Teacher>();
       for (int i = 1; i <= 5 ; i++){
           Teacher teacher = new Teacher("teacher"+i, 10*i);
           list.add(teacher);
       }
       System.out.println("list遍历:");
       for (int i = 0; i < list.size(); i++) {
           System.out.println( list.get(i));
       }
       System.out.println("*********for each************");
       for (Object object : list) {
           System.out.println(object);
       }
       System.out.println("***********Iterator ***************");
       Iterator it = list.iterator();
       while(it.hasNext()){
           System.out.print(" "+it.next());
       }
   System.out.println("***********Iterator逆序输出 ***************");
       ListIterator it2 = list.listIterator(list.size());
       while(it2.hasPrevious()){
           System.out.print(" "+it2.previous());
       }
   }
  • Set 元素没有下标,且不能重复,长度可变
    • HashSet:底层是用hashtable实现的,通常情况下HashSet各操作比TreeSet效率高。
    • TreeSet:自定义类型-作为set元素时,需要重写object hashcode和equals
    Set遍历
    • for each
    • Itraretor
  • Map 值绑定键,存储键值对;长度可变(键可以是任意类型值,且不能重复,但值可以重复)
    • HashMap:底层数组加单向链表实现的,【线程不安全】,通常使用HashMap,性能比TreeMap好。【键和值都可以是null】
    • TreeMap:底层红黑树实现的。好处-》自动对添加的键值对排序。
    • Hashtable:底层数组加单向链表实现的,【线程安全】【键和值都不能是null】
    • Properties(讲了流说):继承了Hashtable,新增api(set…get.store…load)

    boolean containsKey(Object key) ; boolean containsValue(Object value)

    Map遍历
    • 遍历所有的值

      map.values

    • 遍历所有的键

      map.keySet 可以通过键找到值-》map.get

    • 遍历所有的键和值

      entrySet() 一个【Map.Entry的对象】包含一个键和对应的值

      getKey() --获取【键值对】的键

      getValue()–获取【键值对】的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值