Java之路---Day18(List集合)
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集合)的更多相关文章
- Java之路——名词解释(一)
一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...
- Java比较器对数组,集合排序一
数组排序非常简单,有前辈们的各种排序算法,再加上Java中强大的数组辅助类Arrays与集合辅助类Collections,使得排序变得非常简单,如果说结合比较器Comparator接口和Collato ...
- Java基础知识强化之集合框架笔记39:Set集合之HashSet存储字符串并遍历
1. HashSet类的概述: (1)不保证set的迭代顺序 (2)特别是它不保证该顺序恒久不变 HashSet底层数据结构是哈希表,哈希表依赖于哈希值存储,通过哈希值来确定元素的位置, 而保证元素 ...
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...
- Java基础知识强化之集合框架笔记07:Collection集合的遍历之迭代器遍历
1. Collection的迭代器: Iterator iterator():迭代器,集合的专用遍历方式 2. 代码示例: package cn.itcast_03; import java.util ...
- Java基础知识强化之集合框架笔记05:Collection集合的遍历
1.Collection集合的遍历 Collection集合直接是不能遍历的,所以我们要间接方式才能遍历,我们知道数组Array方便实现变量,我们可以这样: 使用Object[] toArray() ...
- Python之路,Day18 - 开发一个WEB聊天来撩妹吧
Python之路,Day18 - 开发一个WEB聊天来撩妹吧 本节内容: 项目实战:开发一个WEB聊天室 功能需求: 用户可以与好友一对一聊天 可以搜索.添加某人为好友 用户可以搜索和添加群 每个 ...
- Java之路——敬JAVA初学者(作者:MoMo)
作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
随机推荐
- Django中ModelViewSet的应用
ModelViewSet源码 class ModelViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateM ...
- gnome 3 插件设置
插件安装及管理方法 应该需提前在gnome-tweaks中打开user-theme,重启电脑后才可找到Add-ons Debian9 下在应用商店插件add-ons里进行选择安装,在应用商店已安装应用 ...
- 4.28(TG模拟赛)总结
1.挖地雷 题目背景 NOIp1996提高组第三题 题目描述 在一个地图上有N个地窖(N≤20),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径.当地窖及其连接的数据给出之后,某人可以从任 ...
- 关于微信订阅号里自动回复里的a链接的问题
前阵子做了一个微信订阅号的活动,然后发现一个问题:就是回复内容里的a标签微信没有解析出来,而是这样 正常应该是这样: 具体出现这种情况的手机有: 魅族的型号是:M1 metal小米的型号是:MI 5X ...
- helm repository 相关
chart repo是一个可用来存储index.yaml与打包的chart文件的HTTP server.当要分享chart时,需要上传chart文件到chart仓库,任何一个能够提供yaml与tar文 ...
- WebGPU学习(七):学习“twoCubes”和“instancedCube”示例
大家好,本文学习Chrome->webgpu-samplers->twoCubes和instancedCube示例. 这两个示例都与"rotatingCube"示例差不 ...
- Python 绘制 柱状图
用Python 绘制 柱状图,使用的是bar()函数. 一个简单的例子: # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英寸 plt.figure(figsize=(10, 1 ...
- 测试效率加倍提升!shell 高阶命令快来 get 下!
背景 目前大部分的项目都是部署在Linux系统上,作为测试,掌握常用Linux命令是必须的技能.很多的工作了好几年的测试人员可能还只会简单的ls.cd.cat等等这些命令,这些命令是可以应付工作的大部 ...
- CentOS下安装php 5.6.19
# php安装包下载wget https://www.php.net/distributions/php-5.6.19.tar.bz2# 解压bunzip2 php-5.6.19.tar.bz2tar ...
- golang gin框架设置静态目录
router := gin.Default() 第一个参数是api 第二个静态问价的文件夹相对目录 router.StaticFS("/data", http.Dir(" ...