Java SE ----- 集合

Collection接口

        这是集合的基本接口,他对集合的基本行为进行定义,如:

// T 表示任意类型
void add(T t);//向集合添加元素

boolean contains(Object o)//比较集合内部是否有相同的对象

boolean remove(T t);//删除对应元素

int size();//返回集合元素个数

void clear();//清空集合

Iterator<T> iterator();//获取一个特殊的类Iterator<T>类

T[] toArray();//将集合转换为数组

boolean isEmpty();//判断集合是否为空

void sort(Comparator c);//根据传入的比较器对元素进行比较

List接口

继承了Collection接口,定义了一种可以存储重复对象有顺序的集合的基本行为。用法与数组类似,用于存储任意对象。通过add()方法向集合添加对象,根据添加的先后顺序决定集合的位置。通过get()方法获取。

List<String> list = new ArrayList<>();
list.add("1");
list.add("1");
list.add("2");
list.add("3");
System.out.println(list.get(0))//将获取下标为0,即第一个元素,将输出 1

        ArrayList类

数组存储而实现的List集合类。

由于是通过数组进行实现的,所以对于元素的查找有着更快的速度。

        LinkedList类

链表存储而实现的List集合类。

由于是通过链表进行实现的,所以对于元素的插入删除有着更快的速度。

        Iterator<E>接口

        定义了一种存取元素的基本行为。用于遍历集合。如

boolean hasNext();//判断是否还有下一个元素

T next();//取出下一个元素

        用法:通过集合的iterator()方法获取装载了集合元素的Iterator的实现类。在通过next()方法一个个获取元素。

Iterator<集合内的元素类型> 变量名1 = 集合.iterator();

while(变量名1.hasNext){
    集合内的元素类型 变量名2=变量名1.next();//这是用法之一
}

//例子

List<String> list = new ArrayList<>();
//添加元素
//....
Iterator<String> iterator = list.iterator();

while(iterator.hasNext){
    System.out.println(iterator.next);
}

Set接口

继承了Collection接口,定义了一种只能存储不同对象无序的集合的基本行为。

        HashSet类

通过hash表进行保存集合元素。

        TreeSet类

通过二叉树进行保存集合元素。

Map接口

定义了一种以键值对进行存储的集合的基本行为。

// K , VT 表示任意类型
void put(K key,V value);//向集合添加元素

void get(K key);//获取对应键的值

boolean contains(Object o)//比较集合内部是否有相同的对象

boolean remove(K Key);//删除对应元素

int size();//返回集合元素个数

void clear();//清空集合

Set<Map.entry<K,V>> entrySet();//返回集合的键值对的Set集合

boolean isEmpty();//判断集合是否为空

        HashMap类

hash表为基础进行存储的Map实现类。

        TreeMap类

红黑树为基础进行存储的Map实现类。

        Map.Entry<K,V>接口

        定义了一种键值对的基本行为。主要用于存储键与其对应的值。为遍历Map集合提供一种简单的方式。

//获取键
K getKey();
//获取值
V getValue();

        用法:通过Map方法中的getEntrySet()方法获取集合的键值对的Set集合。通过遍历Set集合的方式进行遍历。如:

Map<Integer,String> map =new HashMap();
map.put(1,"a");
map.put(2,"b");
map.put(3,"c");

Set<Map.Entry> entrys= map.entrySet();
for(Map.Entry entry: entrys){
    //打印map中所有的元素键值对
    System.out.println(entry.getKey + ":" + entry.getValue);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值