第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Java集合:Set Map List

Java集合:Set Map List

时间:2022-04-26 06:03:37

相关推荐

Java集合:Set Map List

文章目录

Java集合:Set、Map、List一、List常用方法1、增加功能2、删除功能3、修改功能4、获取功能5、判断功能6、长度功能7、把集合转换成数组二、Set常用方法三、Map常用方法1、添加功能2、删除功能:3、长度功能:4、判断功能5、获取功能:

Java集合:Set、Map、List

1.Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口。2.Collection主要有三个子接口,分别为List(列表)、Set(集)、Queue(队列)。其中,List、Queue中的元素有序可重复,而Set中的元素无序不可重复。List中主要有ArrayList、LinkedList两个实现类;Set中则是有HashSet实现类;而Queue是在JDK1.5后才出现的新集合,主要以数组和链表两种形式存在。3.Map同属于java.util包中,是集合的一部分,但与Collection是相互独立的,没有任何关系。Map中都是以key-value的形式存在,其中key必须唯一,主要有HashMap、HashTable、TreeMap三个实现类。

一、List

List集合是一个元素有序(每个元素都有对应的顺序索引,第一个元素索引为0)、且可重复的集合。

常用方法

1、增加功能

① 向集合中添加一个元素:

boolean add(Object o)

在指定位置添加元素:

void add(int index, E element)

List list = new ArrayList();list.add("hello");list.add(1,"world ");list.add(2,"! ");System.out.println(list);/*运行结果:[hello, world , ! ]*/

②向集合中添加一个集合的元素

boolean addAll(Collection<? extends E> c)

List list = new ArrayList();List list1 = new ArrayList();list1.add("hello world");System.out.println(list);list.addAll(list1);System.out.println(list);/*运行结果:[][hello world]*/

2、删除功能

①删除集合中的所有元素:

void clear()

List list = new ArrayList();list.add("hello world");System.out.println(list);list.clear();System.out.println(list);/*运行结果:[hello world][]*/

②根据指定索引删除元素,并把删除的元素返回:

E remove(int index)

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");System.out.println(list);list.remove(1);System.out.println(list);/*运行结果:[hello, world, !][hello, !]*/

③从集合中删除指定的元素

boolean remove(Object o)

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");System.out.println(list);list.remove("hello");System.out.println(list);/*运行结果:[hello, world, !][ world, !]*/

④从集合中删除一个指定的集合元素

boolean removeAll(Collection<?> c)

List list = new ArrayList();List list1 = new ArrayList();list.add("hello");list1.add("hello");list.add(" world");list.add(" !");list1.add(" !");System.out.println(list);list.removeAll(list1);System.out.println(list);/*运行结果:[hello, world, !][ world]*/

3、修改功能

把指定索引位置的元素修改为指定的值,返回修改前的值:

E set(int index, E element)

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");System.out.println(list);list.set(1," hello");System.out.println(list);/*运行结果:[hello, world, !][hello, hello, !]*/

4、获取功能

①获取指定位置的元素:

E get(int index)

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");System.out.println(list);Object o = list.get(2);System.out.println(o);/*运行结果:[hello, world, !]!*/

②用来获取集合中每一个元素

Iterator iterator()

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");System.out.println(list);Iterator<String> iterator = list.iterator();while(iterator.hasNext()){String next = iterator.next();System.out.println(next);}/*[hello, world, !]helloworld!*/

5、判断功能

①判断集合是否为空:

boolean isEmpty()

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");boolean empty = list.isEmpty();System.out.println(empty);/*运行结果:false*/

②判断集合中是否存在指定的元素:

boolean contains(Object o)

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");boolean hello = list.contains("hello");System.out.println(hello);/*运行结果:true*/

③判断集合中是否存在指定的一个集合中的元素:

boolean containsAll(Collection<?> c)

List list = new ArrayList();List list1 = new ArrayList();list.add("hello");list.add(" world");list.add(" !");list1.add(" !");boolean b = list.containsAll(list1);System.out.println(b);/*运行结果:true*/

6、长度功能

获取集合中的元素个数:

int size()

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");System.out.println(list.size());/*运行结果:3*/

7、把集合转换成数组

把集合变成数组:

Object[] toArray()

List list = new ArrayList();list.add("hello");list.add(" world");list.add(" !");Object[] objects = list.toArray();for (int i = 0; i < objects.length; i++) {System.out.print(objects[i] + "\t");}/*运行结果:hello world !*/

二、Set

Set继承于Collection接口,是一个不允许出现重复元素,并且无序的集合,主要有HashSet和TreeSet两大实现类。在判断重复元素的时候,Set集合会调用hashCode()和equal()方法来实现。HashSet是哈希表结构,主要利用HashMap的key来存储元素,计算插入元素的hashCode来获取元素在集合中的位置;

*TreeSet是红黑树结构,每一个元素都是树中的一个节点,插入的元素都会进行排序;

常用方法

与List接口一样,Set接口也提供了集合操作的基本方法。

但与List不同的是,Set还提供了equals(Object o)和hashCode(),供其子类重写,以实现对集合中插入重复元素的处理;

三、Map

*Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。

*Map 接口主要有两个实现类:HashMap 类和 TreeMap 类。其中,HashMap 类按哈希算法来存取键对象,而 TreeMap 类可以对键对象进行排序。

常用方法

1、添加功能

put(K key,V value)将指定的值与该映射中的指定键相关联

2、删除功能:

remove(Object key)如果存在,从该map集合中删除一个键的映射

void clear()从该map集合中删除所有的映射

3、长度功能:

int size()返回此地图中键值映射的数量

Map<String,String> map = new HashMap<>();// put(K key,V value)将键值对放入map集合map.put("唐僧","袈裟");map.put("八戒","九齿钉耙");map.put("沙僧","行李");//两次插入同一个key的映射的时候,返回的是该key上一个映射中对应的值System.out.println(map.put("孙悟空","金箍棒")); //nullSystem.out.println(map.put("孙悟空","定海神珍")); //金箍棒System.out.println(map.toString()); //{沙僧=行李, 孙悟空=定海神珍, 唐僧=袈裟, 八戒=九齿钉耙}// remove(Object key)根据key删除元素,会返回key对应的value值String value1 = map.remove("沙僧");System.out.println(value1); //行李System.out.println(map.toString()); //{孙悟空=定海神珍, 唐僧=袈裟, 八戒=九齿钉耙}// size() 返回map集合中映射的数量System.out.println(map.size()); //3// void clear()清空map集合map.clear();System.out.println(map.toString()); //{}/*运行结果:null金箍棒{沙僧=行李, 孙悟空=定海神珍, 唐僧=袈裟, 八戒=九齿钉耙}行李{孙悟空=定海神珍, 唐僧=袈裟, 八戒=九齿钉耙}3{}*/

4、判断功能

boolean containsKey(Object key)

boolean containsValue(Object value)

boolean isEmpty()

Map<String,String> map = new HashMap<>();map.put("唐僧","袈裟");map.put("八戒","九齿钉耙");map.put("沙僧","行李");//containsKey(Object key)判断集合中是否包含某个键System.out.println(map.containsKey("八戒")); //trueSystem.out.println(map.containsKey("孙悟空")); //false//containsValue(Object value)判断集合中是否包含某个值System.out.println(map.containsValue("袈裟")); //trueSystem.out.println(map.containsValue("女儿国国王")); //false//isEmpty()判断map集合是否为空System.out.println(map.isEmpty()); //falsemap.clear();System.out.println(map.isEmpty()); //true/*运行结果:truefalsetruefalsefalsetrue*/

5、获取功能:

get(Object key) 根据指定的key获取对应的value

Set< K > keySet() 返回一个Set集合,包含map集合中全部的key值

Collection< V > values() 返回一个Collection集合,包含map集合中全部的value值

Set<Map.Entry<K,V>> entrySet() 返回一个Set集合,包含map集合中全部的映射关系

Map<String,String> map = new HashMap<>();map.put("唐僧","袈裟");map.put("八戒","九齿钉耙");map.put("沙僧","行李");// get(Object key)根据指定的key获取对应的value//如果key值不存在,则返回nullSystem.out.println(map.get("唐僧")); //袈裟System.out.println(map.get("女儿国国王")); //null//Set<K> keySet()返回一个Set集合,包含map集合中全部的key值Set<String> keys = map.keySet();for(String s : keys){System.out.println(s);}//Collection<V> values()返回一个Collection集合,包含map集合中全部的value值Collection<String> values = map.values();for(String s : values){System.out.println(s);}//Set<Map.Entry<K,V>> entrySet()返回一个Set集合,包含map集合中全部的映射关系Set<Map.Entry<String,String>> entrySet = map.entrySet();for(Map.Entry<String,String> s : entrySet){String key = s.getKey();String value = s.getValue();System.out.println(key+"="+value);}/*运行结果:袈裟null沙僧唐僧八戒行李袈裟九齿钉耙沙僧=行李唐僧=袈裟八戒=九齿钉耙*/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。