ArrayList集合HashSet集合HashMap集合

it2022-05-09  23

List,Set,Map集合

集合中的继承关系ArrayListHashsetHashMap List集合也可以称为数据结构:线性,数据内容无序,但是数据位置有序,位置从零开始

集合中的继承关系

Collection接口,集合的顶级接口   List接口继承继承Collection接口     Arraylist实现List接口     LinkedList实现List接口

ArrayList

ArrayList类:有具体的下标,通过下标查询速度快,不适合做增和删ArrayList的特点可以理解为可变数组可以存储null下标位置有序内容无序线程异步,熟读块,不安全实现了List接口ArrayList是如何实现动态扩容,以及扩容的原则 申请一个更大的数组空间利用Arrays,新数组=Arrays.copyOf(源数组,新数组的长度)ArrayList集合,不适合存储大量数据空间增长规律 jre1.6及以下 old*3/2+1;jre1.7及以上 old+old>>1;默认容量 为10

ArrayList集合的常用(不是所有,其他的可以查看api帮助文档)api方法

boolean add(Object)//给集合添加元素int size()//获取集合中元素的个数Object get(int)//从集合中获取指定下标的元素void clear()//清除集合中所有的元素boolean isEmpty()//判断集合是否为空,指的是集合内容为空list subList(int int)//从指定位置索引,包头不包尾Object remove (int)//删除指定下标的元素boolean remove(Object)//删除指定的元素void remove(collection)//删除指定的子集 public void testMethod(){ ArrayList list = new ArrayList(); list.add("元素一");//给集合添加元素,元素可以是任意类型的对象 int size = list.size();//获取当前集合的长度,即元素个数 String list.get(0);//获取集合中第0号元素 list.clear();//清空当前集合 boolean flag = list,isEmpty();//判断当前集合是否为空 List list1 = list.subList(1,2);//取出从位置1到位置2的元素,包含1不包含2,赋值给list1 Object o = list.remove(0);//删除位置下标为0的元素 boolean flag = list.remove("元素一");//移除"元素一"元素 list.remove(list1);//移除子集list1 }

Hashset

集合中内容唯一不适合做增,在添加数据时会遍历比较所有的数据集合中的数据没有循序,遍历查找数据能存储null线程不安全set集合越小遍历的速度和效率越好

Hashset集合常用的api

boolean add();//如果set集合中没有包含此元素即添加此元素void clean();//从set中移除所有元素boolean contains(object o);//查询set中是否包含此元素boolean isEmpty();//检测此set是否为空boolean remove(Object o);//如果此set中包含此元素,则移除此元素int size();返回set中元素的数量 public void testMethod(){ HashSet hashset = new HashSet(); hashset.add("元素一");//给set集合添加"元素一" hashset.clean();//清空此set集合 boolean flag = hashset.contains("元素一");//判断此set结婚是否包含此"元素一"元素 boolean flag1 = hashset.isEmpty();//判断此set集合是否为空 boolean flag2 = hashset.remove("元素一");//移除集合中"元素一"元素 int size = hashset,size();//返回此set集合的长度 }

HashMap

若干键值对的数据组成的集合Map集合中的key也是一个集合,是一个set集合,说明key不能重复Map集合中的value也是一个集合,是一个collection集合Map集合中的元素有key和value组成的,而value可以是collection集合或Map集合皆可,即集合套集合

Hash集合的常用api

put(key,value);//向集合中添加键值对void clear();//移除集合中所有的键值对boolean containsKey(Object Key);//检查集合中是否存在此键值对Object get(Object key);//返回当前Key锁代表的值boolean isEmpty();//判断当前集合是否为空Set keySet();//返回键key的Set集合remove (object key);//从集合中移除指定的键值对int size();//返回此集合中的键值对数量Collection values();//返回一个值的Collection集合 public void testMethod(){ HashMap hashmap = new HashMap(); hashmap.put("元素的Key","元素的Value");//向集合中添加键值对 hashmap.clear();//清空集合中的所有键值对 boolean flag = hashmap.containsKey("元素的Key");//检测此集合中是否存在此键值对 Object obj = hashmap.get("元素的Key");//获取当前Key代表的Value boolean flag1 = hashmap.isEmpty();//判断当前集合是否为空 Set set = keySet();//获取当前集合的key的Set集合 hashmap.remove(Object Key);//移除当前的键值对 int size = hashmap.size();//获取当前集合的元素(键值对)个数 Collection collection = hashmap.value();//获取当前集合的value的collection集合 }

最新回复(0)