写点什么

java 集合笔记二 —— List 集合,java 运行原理

用户头像
极客good
关注
发布于: 刚刚

目录

[](

)list 的相关方法


下面以 ArrayList 举例


  1. 在末尾添加一个元素 add(E e)


返回集合中的元素个数 size()


import java.util.ArrayList;


import java.util.List;


public class ListDemo1 {


public static void main(String[] args) {


List<String> list = new ArrayList<>();


list.add("apple"); //size=1


list.add("pear"); //size=2


list.add("apple"); //size=3,允许添加重复元素


System.out.println(list.size()); //3


}


}


  1. 在指定索引添加一个元素 add(int index, E e)


import java.util.ArrayList;


import java.util.List;


public class ListDemo1 {


public static void main(String[] args) {


List<String> list = new ArrayList<>();


list.add("apple");


list.add("pear");


list.add(1,"Banana");//在指定的位置插入


list.add(null); //允许添加 null


for(int i=0;i<list.size();i++){


String s = list.get(i);


System.out.println(s);


}


}


}


结果为



  1. 获取指定索引的元素 get(int index)


import java.util.*;


public class ListDemo3 {


public static void main(String[] args) {


List<String> fruits = new ArrayList<>();


fruits.add("apple");


fruits.add("banana");


fruits.add("grape");


System.out.println(fruits.get(0)); //apple


System.out.println(fruits.get(1)); //banana


}


}


  1. set(int index,Object obj):把指定索引位置的元素修改为指定的值,返回修改前的值


import java.util.ArrayList;


import java.util.List;


public class demo10 {


public static void main(String[] args) {


List<String> fruits = new ArrayList<>();


fruits.add("apple");


fruits.add("banana");


fruits.add("grape");


System.out.println(fruits.set(1,"pear")); //banana


System.out.println(fruits.get(1)); //pear


}


}


  1. 判断该元素集合中是否存在


import java.util.ArrayList;


import java.util.List;


public class demo10 {


public static void main(String[] args) {


List<String> fruits = new ArrayList<>();


fruits.add("apple");


fruits.add("banana");


fruits.add("grape");


System.out.println(fruits.contains("pear")); //false


System.out.println(fruits.contains("apple")); //true


}


}


  1. 删除指定位置的元素


package review.ListDemo1;


import java.util.ArrayList;


import java.util.List;


public class demo10 {


public static void main(String[] args) {


List<String> fruits = new ArrayList<>();


fruits.add("apple");


fruits.add("banana");


fruits.add(2,"pear");


for(String s : fruits){


System.out.println(s);


}


System.out.println();


fruits.remove(2);


for(String s : fruits){


System.out.println(s);


}


}


}


结果为


[](

)Arrays.asList


Arrays.asList 的作用是将数组转化为 list,一般用于 List 集合的初始化,简化代码


  1. 该方法不适用于基本数据类型(比如 int,double 等)

  2. Arrays.asList 生成的 List 集合不支持 add(),remove(),clear()等方法,即 Arrays.asList 生成的 List 集合长度不可改变

  3. Arrays.asList 会将数组与 List 集合链接起来,更新数组或者集合时,另一个也会随之更新


import java.util.Arrays;


import java.util.List;


public class test1 {


public static void main(String[] args) {


//往 List 集合中添加类的对象


List list = Arrays.asList(


new Student("zhang",12),


new Student("zhao",15)


);


for(int i=0;i<list.size();i++){


System.out.println(list.get(i));


}


System.out.println("---"+list.size());


System.out.println("============");


//将 String 数组中的值放入 List 集合


String[] s =


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


{"a","b","c"};


List<String> list1 = Arrays.asList(s);


for(String ss:list1){


System.out.println(ss);


}


System.out.println("---"+list1.size());


System.out.println("============");


//将 Integer 数组中的值放入 List 集合


Integer[] i = {1,2,3};


List<Integer> list2 = Arrays.asList(i);


for(Integer ii:list2){


System.out.println(ii);


}


System.out.println("============");


//直接像这样把值写进括号里面也可以


List<String> list3 = Arrays.asList("a","b","c");


System.out.println(list3.toString());


}


}


import java.util.Arrays;


import java.util.List;


public class test2 {


public static void main(String[] args) {


//数组与 List 集合链接起来,更新任何一个,另一个都会随之改变


String[] s = {"a","b","c","d"};


List<String> list = Arrays.asList(s);


System.out.println(list.toString());


System.out.println("==============");


//更改 List 集合


list.set(0,"e");


//分别打印 list 集合和数组 s


System.out.println(list.toString());


System.out.println(Arrays.toString(s));


System.out.println("==============");


//更改数组


s[1] = "f";


//分别打印 list 集合和数组 s


System.out.println(list.toString());


System.out.println(Arrays.toString(s));


}


}


结果为


[](

)遍历 List 集合


package review.ListDemo1;


import java.util.ArrayList;


import java.util.Arrays;


import java.util.Iterator;


import java.util.List;


public class test3 {


public static void main(String[] args) {


List<String> list = new ArrayList();


list.add("aaa");


list.add("bbb");


list.add("ccc");


//遍历 List 集合


// 方式一、增强 for 循环


for(String ss : list){


System.out.println(ss);


}


//方式二、get 方法与 size 方法相结合


for(int i=0;i<list.size();i++){


System.out.println(list.get(i));


}


//方式三、iterator 迭代器遍历


Iterator<String> it = list.iterator();


while(it.hasNext()){


System.out.println(it.next());


}


}


}

[](

)LinkedList 类概述


底层数据结构是链表,查询慢,增删快


线程不安全,效率高


LinkedList 的特有功能:


  1. 添加功能:


public void addFirst(Object obj):在该集合开头插入指定的元素


public void addLast(Object obj)将指定的元素追加到此列表的末尾。// 这个方法相当于 add(Object) 。


  1. 获取功能:


public Object getFirst():返回此集合中的第一个元素。


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


  1. 删除功能:


public Object removeFirst():移除集合中第一个元素


public Object removeLast():移除集合中最后一个元素


import java.util.LinkedList;


public class demo10 {


public static void main(String[] args) {


LinkedList linkedList = new LinkedList();


//add()添加元素


linkedList.add("hadoop");


linkedList.add("hive");


linkedList.add("flink");


System.out.println(linkedList.toString()); //[hadoop, hive, flink]


//addFirst(Object obj) 在该集合开头插入指定的元素


linkedList.addFirst("apple");


System.out.println(linkedList.toString()); //[apple, hadoop, hive, flink]


//addLast(Object obj)将指定的元素追加到此列表的末尾


linkedList.addLast("pear");


System.out.println(linkedList.toString()); //[apple, hadoop, hive, flink, pear]


//getFirst() 返回此集合中的第一个元素


System.out.println(linkedList.getFirst()); //apple


//getLast() 返回此列表中的最后一个元素


System.out.println(linkedList.getLast()); //pear


//removeFirst() 移除集合中第一个元素,返回被删除的元素


System.out.println(linkedList.removeFirst()); //apple


System.out.println(linkedList.toString()); //[hadoop, hive, flink, pear]


//removeLast() 移除集合中最后一个元素,返回被删除的元素

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
java集合笔记二 —— List集合,java运行原理