集合、Map

collection集合

Collection派生出了两个子接口,一个是List另一个则是Set。

List:称为可重复集,顾名思义,该集合中是允许存放重复元素的,那么何为重复元素?重复元素指的并非是同一个元素,而是指equals方法比较为true的元素。

Set:称为不可重复集,所以,该集合中是不能将相同的元素存入集合两次,同List,这里相同指的也是两个元素的equals比较结果为true。

list:接口有两个实现类:ArrayList更适合于随机访问而LinkedList更适合于插入和删除

  • E get(int index):获取集合中指定下标对应的元素,下标从0开始。
  • E set(int index, E elment):将给定的元素存入给定位置,并将原位置的元素返回
    1. void add(int index,E element):

    将给定的元素插入到指定位置,原位置及后续元素都顺序向后移动。

    1. E remove(int index):

    删除给定位置的元素,并将被删除的元素返回。

subList获取的List与原List占有相同的存储空间,对子List的操作会影响的原List。

  1. List<Integer> list = new ArrayList<Integer>();
  2. for (int i = 0; i < 10; i++) {
  3. list.add(i);
  4. }
  5. System.out.println(list); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  6. List<Integer> subList = list.subList(3, 8);
  7. System.out.println(subList); // [3, 4, 5, 6, 7]
  8. // subList获得的List和源List占有相同的数据空间
  9. for (int i = 0; i < subList.size(); i++) {
  10. subList.set(i, subList.get(i) * 10);
  11. }
  12. System.out.println(subList); // [30, 40, 50, 60, 70]
  13. System.out.println(list); // [0, 1, 2, 30, 40, 50, 60, 70, 8, 9]
  14. // 可以用于删除连续元素list.subList(3, 8).clear();
  15. System.out.println(list);

List转换为数组

  1. List<String> list = new ArrayList<String>();
  2. list.add("a");
  3. list.add("b");
  4. list.add("c");
  5. //通常我们传入的数组不需要给定长度
  6. String[] strArr = list.toArray(new String[] {});        System.out.println(Arrays.toString(strArr)); // [a, b, c]

数组转换为List

  1. String[] strArr = { "a", "b", "c" };
  2. List<String> list = Arrays.asList(strArr);
  3. System.out.println(list); // [a, b, c]
  4. // list.add("d"); // 会抛出UnsupportedOperationException
  5. //     java.util.Arrays$ArrayList
  6. System.out.println(list.getClass().getName());
  7. List<String> list1 = new ArrayList<String>();
  8. list1.addAll(Arrays.asList(strArr));
时间: 2024-10-12 23:15:25

集合、Map的相关文章

day19 集合MAp

Day 19 Map 一,虽然在Collection的下边,但是他在API里边确是单独的一个类; 二,Map 在存储的时候和collection 不一样: Collection只能存储一个对象(也称为单列集合); Map 是键值映射的,一一对应.(也称为双列集合); 三,map 接口中的方法: 常用的: 1,put (K,V)  将键值对存储到集合;  如果存储重复键,原来的键会被覆盖. 2,get(K)  传递键,返回这个键所对应的值(区分大小写);如果没有返回null 3,接口判断方法   

java018.双列集合Map

day18双列集合MapMap接口和Collection接口的区别: * Map是双列的,Collection是单列的 * Map的键唯一,Collection的子体系Set是唯一的,List体系可以存储重复值 * Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效 * a:添加功能  * V put(K key,V value):添加元素.   * 如果键是第一次存储,就直接存储元素,返回null   * 如果键不是第一次存在,就用值把以前的值替换掉,

黑马程序员--Java基础学习笔记【集合-Map】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Map 接口 Map 接口定义的集合,又称查找表 Map 接口和 Collection 接口没关系 Map 集合派系,存储映射键值对 不允许重复的键,每个键最多映射 1 个值 根据内部数据结构不同,Map 接口有多种实现类: 常用的有内部为 hash 表实现的 HashMap 和内部为排序二叉树实现的 TreeMap Map 接口和 Collection 接口的不同 Map 和 Collect

黑马程序员-java基础-集合Map

-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! Map<K,V> Map<K,V>:Map存储的是键值对形式的元素,它的每一个元素,都是由键和值两个元素组成,键是不能有重复的,值是可以重复的,每一个键唯一指向一个值. Map体系 Map ——|hashtable: 底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.效率低,已被HashMap替代 ——|HashMap: 底层是哈希表数据结构,允许使用 null 值和 nu

Java集合Map接口与Map.Entry学习

Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像.如果该关键字已经存在,那么与此关键字相关的新值将取代旧值.方法返回关键字的旧值,如果关键字原先并不存在,则返回null Object remove(Object

【由浅入深理解java集合】(五)——集合 Map

前面已经介绍完了Collection接口下的集合实现类,今天我们来介绍Map接口下的两个重要的集合实现类HashMap,TreeMap.关于Map的一些通用介绍,可以参考第一篇文章.由于Map与List.Set集合的某些特性有重合,因此观看本篇文章的会参考到之前的一些内容,最下方有链接.如果已经有这方面的基础,那么对Map的学习将会事半功倍. HashMap HashMap 是一个散列表,它存储的内容是键值对(key-value)映射. 既然要介绍HashMap,那么就顺带介绍HashTable

collection集合--Map

Map(键值对.键唯一.值不唯一) 核心: Map集合中存储的是键值对,键不能重复,值可以重复.根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值. l  Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储. l  Map中的集合,元素是成对存在的(理解为夫妻).每个元素由键与值两部分组成,通过键可以找对所对应的值. l  Collection中的集合称为单列集合,Map中的集合称为双列集合. l  需要注

JAVA集合------Map (HashMap实现)

package java_util_map; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class MapTest01 { public static void main(String[] args) { /*  * Map是一个接口,HashMap是Map的一个实现类  

JAVA学习--集合Map的使用

* Map接口  *         |-----HashMap:Map的主要实现类  *         |-----LinkedHashMap:使用链表维护添加进Map中的顺序.故遍历Map时,是按添加的顺序遍历的. *         |-----TreeMap:按照添加进Map中的元素的key的指定属性进行排序.要求:key必须是同一个类的对象! *                 针对key:自然排序   vs 定制排序  *         |-----Hashtable:古老的实现

Java从零开始学二十三(集合Map接口)

一.Map接口 Collection.Set.List接口都属于单值的操作,即:每次只能操作一个对象,而Map与它们不同的是,每次操作的是一对对象,即二元偶对象,Map中的每个元素都使用key à value的形式存储在集合之中 二.常用方法 No. 方法或类 类型 描述 1 public void clear() 普通 清空Map集合 2 public boolean containsKey(Object key) 普通 判断指定的key是否存在 3 public boolean contai