集合框架04

一、List接口

 1 public class Demo01 {
 2     /*
 3      * List集合派系,继承Collection接口
 4      * List接口特点:有序,索引,可以重复元素
 5      * 实现类:ArrayList,LinkedList
 6      *
 7      * List接口中的抽象方法,有一部分方法是和他的父接口Collection是一样的
 8      * List接口的特有方法,带有索引的功能
 9      */
10     public static void main(String[] args) {
11         function_2();
12     }
13     //add(int index, E)将元素插入到指定索引上
14     public static void function(){
15         List<String> list = new ArrayList<String>();
16         list.add("张三1");
17         list.add("张三2");
18         list.add("张三3");
19         list.add("张三4");
20         list.add("张三5");
21         System.out.println(list);
22
23         list.add(1,"张三6");//带有索引,防止越界异常
24         System.out.println(list);
25     }
26     //E remove(int index)移除指定索引上的元素
27     public static void function_1(){
28         List<Integer> list = new ArrayList<Integer>();
29         list.add(11);
30         list.add(12);
31         list.add(13);
32         list.add(14);
33         list.add(15);
34
35         int i = list.remove(0);
36         System.out.println(i);
37         System.out.println(list);
38     }
39
40     //E set(int index,E)修改指定索引上的元素,返回被修改前的元素
41     public static void function_2(){
42         List<Double> list = new ArrayList<Double>();
43         list.add(1.1);
44         list.add(1.2);
45         list.add(1.3);
46         list.add(1.4);
47         list.add(1.5);
48         System.out.println(list);
49
50         Double i = list.set(2, 1.6);
51         System.out.println(i);
52         System.out.println(list);
53     }
54 }

二、迭代器的并发修改异常

 1 public class 迭代器的并发修改异常 {
 2     //迭代器的并发修改异常java.util.ConcurrentModificationException
 3     //就是在遍历的过程中,使用了集合方法修改了集合的长度,不允许
 4     public static void main(String[] args) {
 5         List<String> list = new ArrayList<String>();
 6         list.add("a11");
 7         list.add("a12");
 8         list.add("a13");
 9         list.add("a14");
10
11         //对集合使用迭代器进行获取,获取时判断集合中是否存在“a13”对象,若存在,添加一个“A3”元素
12         Iterator<String> it = list.iterator();
13         while(it.hasNext()){
14             String s = it.next();
15             if(s.equals("a13"))
16                 list.add("A13");
17             System.out.println(s);
18         }
19     }
20 }

三、ArrayList集合(存储结构是数组)

特点:增删慢,查找快,不同步,线程不安全,运行速度快

四、LinkedList集合

特点:增删快,查找慢,不同步,线程不安全,运行速度快

五、Vector集合(存储结构是数组)

特点:同步,线程安全,运行速度慢

六、Set接口

不允许存储重复对象

时间: 2024-07-30 20:39:27

集合框架04的相关文章

Java集合框架04

集合框架·Map 和 Collections集合工具类 Map集合的概述和特点 * A:Map接口概述 * 查看API可知: * 将键映射到值的对象 * 一个映射不能包含重复的键 * 每个键最多只能映射到一个值 * B:Map接口和Collection接口的不同 * Map是双列的,Collection是单列的 * Map的键唯一,Collection的子体系Set是唯一的 * Map集合的数据结构值针对键有效,跟值无关:Collection集合的数据结构是针对元素有效 * Set底层依赖的是M

java集合框架04——LinkedList和源码分析

上一章学习了ArrayList,并分析了其源码,这一章我们将对LinkedList的具体实现进行详细的学习.依然遵循上一章的步骤,先对LinkedList有个整体的认识,然后学习它的源码,深入剖析LinkedList. LinkedList简介 首先看看LinkedList与Collection的关系: LinkedList的继承关系如下: java.lang.Object ? java.util.AbstractCollection<E> ? java.util.AbstractList&l

Java笔记(18):集合框架(04)

1.Map集合概述特点及测试 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 /* 7 * 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请问怎么做呢? 8 * 如果采用前面讲解过的集合,我们只能把学号和学生姓名作为一个对象的成员,然后存储整个对象,将来遍历的时候,判断,获取对应的名称. 9 * 但是呢,如果我都能把学生

Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 概要  和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码:最后再通过实例来学会使用LinkedList.内容包括:第1部分 LinkedList介绍第2部分 LinkedList数

黑马程序员_JavaSE学习总结第15天_集合框架1

------- android培训.java培训.期待与您交流! ----------  15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(

JavaSE_ 集合框架 总目录(15~18)

黑马程序员_JavaSE学习总结第15天_集合框架1 15.01 对象数组的概述和使用15.02 对象数组的内存图解15.03 集合的由来及与数组的区别15.04 集合的继承体系图解15.05 Collection集合的功能概述15.06 Collection集合的基本功能测试15.07 Collection集合的高级功能测试15.08 集合的遍历之集合转数组遍历15.09 Collection存储自定义对象并遍历案例(使用数组)15.10 集合的遍历之迭代器遍历15.11 Collection

如果天空不是集合框架阅读列表整理

如果天空不死的主页https://home.cnblogs.com/u/skywang12345 Java 集合系列01之 总体框架 Java 集合系列02之 Collection架构 Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理.解决办法) Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列06之 Vector详细介

黑马程序员------Java集合框架学习总结

Java培训.Android培训.iOS培训..Net培训.期待您的交流 一.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类. 二.Collection接口 Collction: List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引.

JavaSE学习总结第15天_集合框架1

15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(); 16 this.name = name; 17 this.age = age; 18