【Java学习笔记】32:List接口及其实现类
来源:互联网 发布:淘宝网登陆注册 编辑:程序博客网 时间:2024/05/13 17:31
List和Set都是collection接口下的,本节学习List接口及其两个实现类ArrayList和LinkedList。
List是有序的,可重复的,可以为null的集合。数组可以存任何数据类型的元素,但List不能存基本数据类型,且数组容量固定,而List的容量动态更新,也因此List的效率要比数组低。
*测试ArrayList
package day32;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test { public static void main(String[] args) { ArrayList<String> a1=new ArrayList<String>(); //1.add a1.add("one"); a1.add("two"); a1.add("Three"); a1.add("one"); a1.add(null); a1.add("one"); //2.addAll ArrayList<String> a2=new ArrayList<String>(); a2.add("a2-1"); a2.add("a2-2"); a1.addAll(a2); //3.遍历 for(String k:a1) { System.out.print(k+" "); } System.out.println(); //4.包含元素 boolean b=a1.contains("one"); System.out.println(b); //5.包含集合 boolean c=a1.containsAll(a2); System.out.println(c); //6.size/随机访问 int s=a1.size(); for(int i=0;i<s;i++) { System.out.print(a1.get(i)+" "); } System.out.println(); //7.remove a1.remove("one");//删第一次出现的 a1.remove(0);//删指定下标的 a1.removeAll(a2);//差集 loop(a1); //8.迭代器 Iterator<String> i=a1.iterator(); while(i.hasNext()) { System.out.print(i.next()+" "); } System.out.println(); //9.清空 a1.clear(); System.out.println(a1.isEmpty()); } static void loop(List<String> list) { for(String e:list) { System.out.print(e+" "); } System.out.println(); }}
它和数组更加接近。
运行结果:
one two Three one null one a2-1 a2-2
true
true
one two Three one null one a2-1 a2-2
Three one null one
Three one null one
true
*测试LinkedList
它相当于一个双向链表,查询慢,但添加和删除的效率高。
package day32;import java.util.LinkedList;import java.util.Iterator;import java.util.List;public class Test {public static void main(String[] args) {LinkedList<String> a1=new LinkedList<String>();//1.adda1.add("one");a1.add("two");a1.add("Three");a1.add("one");a1.add(null);a1.add("one");//2.addAllLinkedList<String> a2=new LinkedList<String>();a2.add("a2-1");a2.add("a2-2");a1.addAll(a2);//3.遍历for(String k:a1){System.out.print(k+" ");}System.out.println();//4.包含元素boolean b=a1.contains("one");System.out.println(b);//5.包含集合boolean c=a1.containsAll(a2);System.out.println(c);//6.size/随机访问int s=a1.size();for(int i=0;i<s;i++){System.out.print(a1.get(i)+" ");}System.out.println();//7.removea1.remove("one");//删第一次出现的a1.remove(0);//删指定下标的a1.removeAll(a2);//差集loop(a1);//8.迭代器Iterator<String> i=a1.iterator();while(i.hasNext()){System.out.print(i.next()+" ");}System.out.println();//9.模拟入栈出栈a1.push("flora");System.out.print("入栈后:");loop(a1);System.out.println("栈顶为:"+a1.pop());System.out.print("出栈后:");loop(a1);//10.清空a1.clear();System.out.println(a1.isEmpty() ? "链表为空":"非空!");}static void loop(List<String> list){for(String e:list){System.out.print(e+" ");}System.out.println();}}运行结果:
one two Three one null one a2-1 a2-2
true
true
one two Three one null one a2-1 a2-2
Three one null one
Three one null one
入栈后:flora Three one null one
栈顶为:flora
出栈后:Three one null one
链表为空
阅读全文
0 0
- 【Java学习笔记】32:List接口及其实现类
- (Java笔记)List接口及其实现类---ArrayList
- 【Java学习笔记】33:Set接口及其实现类
- 【Java学习笔记】34:Map接口及其实现类
- JavaSE入门学习35:Java集合框架之List接口及其实现类ArrayList和LinkedList
- java--19--List及其实现类与子接口
- List接口及其实现类、Map接口及其实现类
- Java容器学习笔记(三) Map接口及其重要实现类学习总结
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- Java学习笔记(三)Map接口及其重要实现类的用法
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- 【JavaSE_学习笔记】Set接口及其子实现类
- 【JavaSE_学习笔记】Map接口及其子实现类
- 【JavaSE_学习笔记】List接口的三个子实现类
- Java学习笔记_23_List接口实现类
- 五,Java集合类(3)——List接口及其实现类
- 黑马程序员:Java基础总结----子接口 List<E>及其实现类
- Java集合之三List接口及其实现类ArrayList、LinkedList、Vector
- python实现-数字颠倒
- 搜狐2017 WEB前端开发 秋招笔试编程题
- BZOJ1003物流运输
- BZOJ[4034][HAOI2015]树上操作 树链剖分+线段树
- 外边距合并和塌陷
- 【Java学习笔记】32:List接口及其实现类
- 【Sqlserver系列】初级思维导图
- 扫描控制台输入Scanner获取字符串和数组
- WAMP建立虚拟主机及配置TP5
- 为什么会开这个博客
- nkoj 3468 最小差值生成树 水题解
- Scry中文名首发:無域——开启基于区块链数据化经济的智能合约时代
- java中的反射机制
- 动态规划的一些资料