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的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
随机推荐
- PAT 乙级 1042.字符统计 C++/Java
题目来源 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个 ...
- mdk编译器学习笔记(1)——序
这两天,学习了keil-mdk编译器的特性,这基本上独立于c语言语法,平时基本上都在强调c语言的学习,但是编译器的学习我们也要注重,类似于gcc一样,不也有很多网上的资料,讲述gcc的特性和用法吗.作 ...
- 【转】编写高质量代码改善C#程序的157个建议——建议56:使用继承ISerializable接口更灵活地控制序列化过程
建议56:使用继承ISerializable接口更灵活地控制序列化过程 接口ISerializable的意义在于,如果特性Serializable,以及与其像配套的OnDeserializedAttr ...
- The happy secret to better work,https://www.ted.com/talks/shawn_achor_the_happy_secret_to_better_work/transcript#t-100352
When I was seven years old and my sister was just five years old, we were playing on top of a bunk b ...
- python 识别二维码内容的方法
识别二维码链接的方式有多种,那么如何用python 的方法实现识别呢? 请看如下代码: from pyzbar.pyzbar import decode from PIL import Image i ...
- Shell基础、输入输出重定向
1.Shell的功能: (1)Shell是命令解释器,把我们写的命令转化为内核能够识别的机器语言,然后内核调用硬件来完成相应的操作.操作完成后,内核操作结果返回给内核,Shell再将机器语言翻译为我们 ...
- ZROI 暑期高端峰会 A班 Day5 计算几何
内积(点积) 很普及组,不讲了. \[(a,b)^2\le(a,a)(b,b)\] 外积(叉积) 也很普及组,不讲了. 旋转 对于矩阵 \(\begin{bmatrix}\cos\theta\\\si ...
- python mysqldb批量执行语句executemany
MySQLdb提供了两个执行语句的方法,一个是execute(),另一个是executemany() execute(sql) 可接受一条语句从而执行 executemany(templet,args ...
- python入门之函数对象
目录 函数是第一类对象 1.函数名可以被引用 2.函数名可以当做参数传递 3.函数名可以当做返回值使用 4.函数名可以被当做容器类型的元素 函数是第一类对象 First-Class Object : ...
- 连上Microbit板
我们是在自己电脑上,用Mu编程,最终程序要烧录到Microbi板子的控制芯片中去,还记得这款芯片是哪家公司生产的?是多少位的?呵呵. 因此,我们要把板子和电脑连起来,用常见的一大一小的USB线就可以了 ...