java集合类(笔试用)

  • 概述

先上图:

 

两条分支:Collection和Map

Collection接口没有实现类,有两个接口:Set和List

Set  无序,没有重复元素 SortedSet升序排列的Set,实现类是TreeSet
List 有序,可以有重复元素

Map接口实现类HashMap SortedMap按key的升序排列,实现类是TreeMap

 

TreeSet和TreeMap的排序规则要实现对象的hashCode和equals方法,速度比HashSet和HashMap慢,所以不需排序的时候使用后者

 

  • List

ArrayList:数据结构为数组,方便取得固定下标的元素

LinkedList:数据结构为双向列表,方便在List中插入、删除操作

 

List转换为数组

List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
Object[] objs = list.toArray();

 数组转换为List

String[] s = new String[]{"a","b","c"};
List list = Arrays.asList(s);

 

可以用Collections类操作List

Collections.sort();

List里面的对象要实现Comparable接口

 

  • Set

根据对象的散列值存储,需实现对象的hashCode()和equals()方法

两个实现类HashSet和LinkedHashSet,区别类似ArrayList和LinkedList

 

  • 使用迭代器遍历Collection
public void print(Collection c){
    Iterator it = c.iterator();
    while(it.hasNext()){
        System.out.println(it.next());
    }
}

  

  • Map

 遍历map的两种方式

第一种:

Set keys = map.keySet();
Iterator it = keys.iterator();
while(it.hasNext()){
    Object key = it.next();
    System.out.println("key:"+key+",value:"+map.get(key));
}

第二种:

 

Set entry = map.entrySet();
System.out.println(entry);
Iterator it = entry.iterator();
while(it.hasNext()){
    Entry me = (Entry)it.next();
    System.out.println("key:"+me.getKey()+",value:"+me.getValue());
}

 

  • Vector和HashTable

在多线程中涉及同步问题,Vector和HashTable是同步的。如果不是多线程中,采用ArrayList和HashMap效率更高。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值