JAVA集合—Collection

[亡魂溺海] 提交于 2020-12-26 00:59:21

Collection接口

 

  • 接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象,

  • 内部定义了操作方法。

  • 实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。

  • 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。

Collection实现类(可用类)

LinkedList
 

该类实现了List接口,允许有null(空)元素。主要用于创建链表数据结构,

ArrayList
该类也是实现了List的接口,实现了可变大小的数组,随机访问和遍历元素时,提供更好的性能。该类也是非同步的,在多线程的情况下不要使用。ArrayList 增长当前长度的50%,插入删除效率低。
HashSet 该类实现了Set接口,不允许出现重复元素,不保证集合中元素的顺序,允许包含值为null的元素,但最多只能一个。
TreeSet 该类实现了Set接口,可以实现排序等功能。
HashMap 
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
该类实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键为null,
TreeMap  继承了AbstractMap,并且使用一颗树。

List接口常用方法

方法 说明
get(int index) 获取列表指定元素
set(int index,E element) 修改指定位置的值,新值为element
add(int index,E element) 向列表指定位置插入数值
add(E element) 向列表中添加值
remove(int index) 删除列表指定元素

Iterator常用方法

方法 说明
boolean hasNext() 判断是否有后续元素,有则返回true
E next() 返回后续元素
void remove() 删除迭代器当前指向的元素

 

java中contains方法是判断是否存在包含关系的,

比如说集合a =[1,2,3,4],b=1,那么a就包含b; 
contains返回的是布尔类型true 和false,包含的话就返回true,不包含的话就返回false 
例:

public class pratise {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String a = "l love feng ye";
        String b = "love";
        boolean c = a.contains(b);    //这里就是判断集合b是否包含字符或者字符串a
        System.out.println(a.contains(b));
        //assertEquals(a.contains(b), "true");
        assert(c)=true;               //加断言
    }
}

 

Map接口

Map内存储的是键/值对这样以成对的对象组

Map是不同于Collection的另外一种集合接口

Map中,key值是唯一的(不能重复),而key对象是与value对象关联在一起的

Map接口有两个实现:

        HashMap — key/value对:是按照Hash算法存储的

        TreeMap — key/value对是排序:(按key排序)存储的

        

 

Map接口常用方法

 

方法

含义

 Object put(Object key,Object value)

将指定的值与此映射中的指定键相关联 

void putAll(Map t)

将映射t中所有映射关系复制到此映射中 

Object get(Object key)

返回此映射中映射到指定键的值 

Object remove(Object key)

若存在此键的映射关系,将其从映射中移除 

boolean containsKey(Object key)

若此映射包含指定键的映射关系,返回 true 

boolean containsValue(Object value)

若此映射为指定值映射一个或多个键,返回 true 

int size()

返回此映射中的键-值映射对数 

void clear()

从此映射中移除所有映射关系 

boolean isEmpty()

若此映射未包含键-值映射关系,返回 true 

Set  keySet()

返回此映射中包含的键的 set 视图 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!