Java数据和集合的对比

来源:互联网 发布:filmimpact插件 mac版 编辑:程序博客网 时间:2024/06/14 01:16
A. 数组(数组是一组数据的集合,数组中的每个元素被称为元素。在数组中可以存放任意类型的元素,但是同一个数组中存放的元素类型必须一致,数组可以分为一维数组和多维数组)    a. 数组的定义        i. 动态的定义            1) 类型[]数组名=new 类型[长度];        ii. 静态初始化            1) 类型[]数组名 = new 类型[]{元素,元素,……..}            2) 类型[]数组名 = {……….}        iii. 多维数组            1) Int [] [] arr=new int [3][4];            2) Itn [] [] arr=new int[3][];            3) Int [] [] arr={{1,2},{2,3}};    b. 特点        i. 数组的大小是固定的,一旦创建就无法扩充,集合的大小不固定        ii. 数组存放的类型只能是一种,集合存放的类型不是一种(不加泛型时候添加的类型是Object)        iii. 数组是java中内置的数据类型,是线性排序的,执行效率是很快的    c. 常用方法        i. 打印数组:Arrays.toString(array);        ii. 根据数组创建ArrayList:ArrayList<String>arraylist=new ArrayList<>(Arrays.asList(array));        iii. 检查数组中是否包含某个值:Arrays.asList(array).contains("a);        iv. 将ArrayList转换为数组:arrayList.toArray();        v. 将数组转换为Set集合:new Hash<String>(Arrays.asList(array));B. 集合    a. Collection:单列集合类的根接口,用于储存一系列符合某种规则的元素。        i. List:元素有序,元素可重复            1) ArrayList:查找便捷,增删慢                a) 常用的方法                    i) 增删改查                    ii) boolean contains(Object o)                      iii) int indexOf(Object o)                    iv) boolean isEmpty()                    v)  E remove(int index)                    vi) E set(int index,  E element)                    vii) Object[] toArray()                b) Iterator接口(用于迭代Collection总的元素)                    i) boolean hasNext() 如果仍有元素可以迭代,则返回 true。(换句话说,如果 next 返回了元素而不是抛出异常,则返回 true)。                     ii) E next() 迭代的下一个元素                    iii) void remove() 移除操作            2) LinkedList:增删快,查找慢                a) 常用的方法                    i) 增删改查                    ii) E element() 获取但是不移除第一个元素                    iii) boolean offer(E e) 将指定元素添加到结尾                    iv) boolean offerFirst(E e) 将指定元素添加到开始                    v) E peek() 获取但是并不移除第一个元素                    vi) E poll() 获取并移除第一个元素                    vii) int size()                    viii)  E set(int index,   E element)                    ix) Object[] toArray()        ii. Set:元素无序,元素不可重复            1) HashSet集合                a) 常用的方法                    i) boolean add(E e) 如果不包含此元素就添加                    ii) void clear() 移除set集合中的所有元素                    iii) Object clone() 返回此 HashSet 实例的浅表副本:并没有复制这些元素本身                    iv) boolean contains(Object o) Set集合是否包含此元素                    v) boolean isEmpty() 是否为空                    vi) boolean remove(Object o) 如果set集合中存在该元素就删除(删除指定元素)                    vii) int size() Set集合的容量                    viii) Iterator<E> iterator() 返回对此 set 中元素进行迭代的迭代器。返回元素的顺序并不是特定的。            2) TreeSet集合    b. Map:一个双列集合,它的每个元素都包含一个键对象key和一个值对象value,键和值之间存在一种对应关系,成为映射。        i. HashMap:是map集合的实现类,它用于存储键值映射关系,但是必须保证不能出现重复的键。        ii. TreeMap:是map集合的实现类,用来存储Key和value的映射关系,通过二叉树的原理保证键的唯一性。
原创粉丝点击