2019-11-05-23:03:28


List集合:

  java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了List 接口的对象称为List集合

  特点:

    1. 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、 22、33的顺序完成的

    2. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)

    3.集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复元素

List集合常用方法:

  List作为Collection集合的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法

    1.public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上

    2.public E get(int index) :返回集合中指定位置的元素。

    3.public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。

    4.public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

 package demosummary.list;

 import java.util.ArrayList;
import java.util.List; public class ListTest {
public static void main(String[] args) {
//创建List集合对象
List<String> list = new ArrayList<>();
//向list集合添加元素
list.add("德玛");
list.add("德邦");
list.add("皇子");
list.add("剑圣");
//打印list集合
System.out.println(list);//[德玛, 德邦, 皇子, 剑圣]
/**
public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上
*/
list.add(1,"卡莎");
System.out.println(list);//[德玛, 卡莎, 德邦, 皇子, 剑圣]
/**
*public E get(int index) :返回集合中指定位置的元素。
*/
System.out.println(list.get(2));//德邦
/**
* public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
*/
System.out.println(list.remove(3));//皇子
System.out.println(list);//[德玛, 卡莎, 德邦, 剑圣]
/**
* public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
*/
String result = list.set(1, "武器");
System.out.println(result);//卡莎
System.out.println(list);//[德玛, 武器, 德邦, 剑圣]
/**
* 增强for遍历list集合
*/
for (String s : list) {
System.out.println(s);
}
}
}

List集合的子类:

  ArrayList集合:

    java.util.ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用多的功能为 查询数据、遍历数据,所以 ArrayList 是常用的集合。

    注意:许多程序员开发时非常随意地使用ArrayList完成任何需求,并不严谨,这种用法是不提倡的。

  LinkedList集合:

    java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合。(LinkedList是一个双向链表)

  LinkeList集合的一些操作方法(了解即可)

    public void addFirst(E e) :将指定元素插入此列表的开头。

    public void addLast(E e) :将指定元素添加到此列表的结尾。

    public E getFirst() :返回此列表的第一个元素。

    public E getLast() :返回此列表的后一个元素。

    public E removeFirst() :移除并返回此列表的第一个元素。

    public E removeLast() :移除并返回此列表的后一个元素。

    public E pop() :从此列表所表示的堆栈处弹出一个元素。

    public void push(E e) :将元素推入此列表所表示的堆栈。

    public boolean isEmpty() :如果列表不包含元素,则返回true

 package demosummary.list;

 import java.util.LinkedList;

 public class LinkedListTest {
public static void main(String[] args) {
//创建LinkedList集合对象
LinkedList<String> list = new LinkedList<>();
/**
* public void addFirst(E e) :将指定元素插入此列表的开头。
* public void addLast(E e) :将指定元素添加到此列表的结尾。
*/
list.addFirst("德玛");
System.out.println(list);//[德玛]
list.addFirst("德邦");
System.out.println(list);//[德邦, 德玛]
list.addLast("皇子");
System.out.println(list);//[德邦, 德玛, 皇子]
/**
* public E getFirst() :返回此列表的第一个元素。
* public E getLast() :返回此列表的后一个元素。
*/
System.out.println(list.getFirst());//德邦
System.out.println(list.getLast());//皇子
/**
* public E removeFirst() :移除并返回此列表的第一个元素。
* public E removeLast() :移除并返回此列表的最后一个元素
*/
// String s = list.removeFirst();
// System.out.println(s);//德邦
// System.out.println(list);//[德玛, 皇子]
// String s1 = list.removeLast();
// System.out.println(s1);//皇子
// System.out.println(list);//[德玛]
/**
* public E pop() :从此列表所表示的堆栈处弹出一个元素。
*/
String pop = list.pop();
System.out.println(pop);//德邦
/**
* public void push(E e) :将元素推入此列表所表示的堆栈。
*/
list.push("卡莎");
System.out.println(list);//[卡莎, 德玛, 皇子]
list.push("武器");
System.out.println(list);//[武器, 卡莎, 德玛, 皇子]
/**
* public boolean isEmpty() :如果列表不包含元素,则返回true
*/
boolean empty = list.isEmpty();
System.out.println(empty);//false
}
}

Java之路---Day18(List集合)的更多相关文章

  1. Java之路——名词解释(一)

    一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...

  2. Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc

    Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...

  3. Java比较器对数组,集合排序一

    数组排序非常简单,有前辈们的各种排序算法,再加上Java中强大的数组辅助类Arrays与集合辅助类Collections,使得排序变得非常简单,如果说结合比较器Comparator接口和Collato ...

  4. Java基础知识强化之集合框架笔记39:Set集合之HashSet存储字符串并遍历

    1. HashSet类的概述: (1)不保证set的迭代顺序 (2)特别是它不保证该顺序恒久不变 HashSet底层数据结构是哈希表,哈希表依赖于哈希值存储,通过哈希值来确定元素的位置,  而保证元素 ...

  5. Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

    1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...

  6. Java基础知识强化之集合框架笔记07:Collection集合的遍历之迭代器遍历

    1. Collection的迭代器: Iterator iterator():迭代器,集合的专用遍历方式 2. 代码示例: package cn.itcast_03; import java.util ...

  7. Java基础知识强化之集合框架笔记05:Collection集合的遍历

    1.Collection集合的遍历 Collection集合直接是不能遍历的,所以我们要间接方式才能遍历,我们知道数组Array方便实现变量,我们可以这样: 使用Object[]  toArray() ...

  8. Python之路,Day18 - 开发一个WEB聊天来撩妹吧

    Python之路,Day18 - 开发一个WEB聊天来撩妹吧   本节内容: 项目实战:开发一个WEB聊天室 功能需求: 用户可以与好友一对一聊天 可以搜索.添加某人为好友 用户可以搜索和添加群 每个 ...

  9. Java之路——敬JAVA初学者(作者:MoMo)

    作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊!    要离开学校了,还是想留 ...

随机推荐

  1. MySQL服务启动时显示本地计算机上的MySQL服务启动后停止。某些服务在。。。

    之前一直用的好端端的,这次启动服务突然就报了这错误. 更好的阅读体验可访问 这里. 起因 为了使用 LOAD_FILE 函数,在数据库配置文件 my.ini的 [mysqld] 里添加 secure_ ...

  2. 模型选择---KFold,StratifiedKFold k折交叉切分

    StratifiedKFold用法类似Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同. 例子: import numpy as np from sklearn.m ...

  3. 使用async进行结构化并发程序开发

    异步风格的函数: 继续来学习async相关的东东,对于它其实可以用到函数上,也就是用它可以定义一个异步风格的函数,然后在该函数中再来调用普通的函数,下面来瞅一下: 其实“GlobalScope.asy ...

  4. Fluter基础巩固之Dart语言详解<三>

    继续Dart语言的学习,这次过后下次就进入全新的Flutter的学习了,小小的激动.. 操作符重载: C++中也有,咱们来看一下在Dart中是如何来实现的: 比较简单. 异步[重要!]: async和 ...

  5. django crm2

    1.模糊查询 由于Q的可以传递字符串属性,可以进行拼接__contains 进行搜索 2.未报名筛选,未报名的存储在models的 enroll_status_choices中,存储的是 enroll ...

  6. (HK1-1)海康网络摄像机的使用

    https://blog.csdn.net/u014552102/article/details/86700057 一.手机客户端操作:  首先在莹石商城官网https://www.ys7.com/下 ...

  7. 异常EXCEPTION_HIJACK(0xe0434f4e)

    简介 EXCEPTION_HIJACK,值为0xe0434f4e.意思是CLR线程劫持异常.异常劫持是CLR在挂起线程进行垃圾收集的过程中抛出的.它的抛出是为了帮助停止后恢复执行.它定义在..\clr ...

  8. 有关OutputDebugString的一点儿事实

    我最近花了一些时间分析OutputDebugString方法.在我的另一个实验中,我需要一个仅依赖于本机API的OutputDebugString版本.在实现它的过程中,我发现了一些关于OutputD ...

  9. hdu 6620 Just an Old Puzzle(N数码问题)

    http://acm.hdu.edu.cn/showproblem.php?pid=6620 N数码问题: n*n矩阵,里面填着1—n*n-1,还有1个空格, 通过上下左右移动空格的位置, 使矩阵里的 ...

  10. c语言之连接符

    c语言之连接符 1.连接符 连接符的概念是结合define预编译指令的使用技巧,用户可以向define中传入字符串来调用不同功能的函数. 2.代码例子 #include <stdio.h> ...