J2EE基础(集合框架之List)

简介: J2EE基础(集合框架之List)

1.UML图文详解

下载地址:StarUML

       1.1集合类图

   

List集合跟Set集合都有继承Collection接口而Map集合并没有。

       1.2线下教育平台用例图

2.List集合

       2.1ArrayList

               2.1.1特点

学集合框架就是为了了解容器的数据结构。(增删改查)

package com.Kissship.list;
import java.util.ArrayList;
import java.util.List;
/**
 * 讲解集合的特点
 * 1.具备容器的基本特点————增删改查
 * 2.有序
 * 3.元素可重复
 * @author jj
 *
 */
public class Demo1 {
  public static void main(String[] args) {
    //集合本身是一个容器,容器的特点就是对存储的元素进行 增删改查
    List list = new ArrayList<>();
    list.add("我用双手成就你的梦想");//增加
    list.add("时间不在于节省多少而在于你怎样使用");
    list.add("断剑重铸之日骑士归来之时");
    System.out.println(list);//a b c
//    list.remove("时间不在于节省多少而在于你怎样使用");//删除
//    System.out.println(list);
    list.set(1, "断剑重铸之日骑士归来之时");//修改
    System.out.println(list);//a c c
  }
}

集合本身就是一个容器。

               2.1.2遍历

集合遍历的三种方式:1.foreach增强for循环  2.迭代器  3.fori通过下标遍历

package com.Kissship.list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Demo2 {
  public static void main(String[] args) {
    //集合本身是一个容器,容器的特点就是对存储的元素进行 增删改查
    List list = new ArrayList<>();
    list.add("我用双手成就你的梦想");//增加
    list.add("时间不在于节省多少而在于你怎样使用");
    list.add("断剑重铸之日骑士归来之时");
    for (Object object : list) {
      System.out.println(object);
    }
    Iterator it = list.iterator();
    while (it.hasNext()) {
      System.out.println(it.next());
    }
    for (int i = 0; i < list.size(); i++) {
      System.out.println(list.get(i));
    }
  }
}

       2.2LinkedList

LinkedList:链表                      特点:查询修改慢,增加删除快。

ArrayList:数组                       特点:查询修改快,增加删除慢。

对比ArrayList:数据结构分别是堆栈,队列;

               2.2.1堆栈跟队列的区别

示例如下:(用LinkedList完成一个堆栈容器)

package com.Kissship.list;
import java.util.LinkedList;
public class Demo3 {
  public static void main(String[] args) {
    // 集合本身是一个容器,容器的特点就是对存储的元素进行   增删改查
    LinkedList ll = new LinkedList<>();
    ll.add("我用双手成就你的梦想");// 增加
    ll.add("时间不在于节省多少而在于你怎样使用");
    ll.add("断剑重铸之日骑士归来之时");
    DuiZhan dz = new DuiZhan(ll);
    // 定义一个方法,当这个方法被调用的时候,后存进去的元素要先输出,先存进去的则后输出————堆栈
    System.out.println(dz.pop());
    System.out.println(dz.pop());
    System.out.println(dz.pop());
  }
}
class DuiZhan {
  private LinkedList ll;
  public DuiZhan(LinkedList ll) {
    super();
    this.ll = ll;
  }
//压栈  弹栈
  public Object pop() {
    return ll.removeLast();
  }
}

 

目录
相关文章
|
4月前
|
存储 安全 Java
【Java集合类面试二十五】、有哪些线程安全的List?
线程安全的List包括Vector、Collections.SynchronizedList和CopyOnWriteArrayList,其中CopyOnWriteArrayList通过复制底层数组实现写操作,提供了最优的线程安全性能。
|
4月前
|
安全
List集合特有功能
List集合特有功能
39 2
|
4月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
2月前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
64 5
|
28天前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
39 0
|
2月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
29 3
|
3月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
25 3
|
4月前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
45 5
|
4月前
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。
|
4月前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型list&set()
本文介绍了Python中list和set两种数据类型的使用,包括它们的创建、取值、增删改查操作、排序以及内置函数的使用,还探讨了list的比较函数和set的快速去重功能。
37 0