当前位置:首页 > 后端开发 > JAVA------集合之List

JAVA------集合之List

6个月前 (05-27)63

List集合概述:继承自Collection

  1. 有序集合,用户可以精确控制列表中每个元素的插入位置。
    用户可通过整数索引访问元素,并搜索列表中的元素
  2. 允许重复的元素
  3. ArrayList和LinkedList都是继承自List,因此List拥有的方法,它们同样拥有
  4. ArrayList底层数据结构是数组,LinkedList底层数据结构是链表

List集合特有方法:
4. void add(int index,E element):在此集合中的指定位置插入指定元素
5. E remove(int index):删除指定索引处元素,返回被删除的元素
6. E set(int index,E element):修改指定索引处的元素,返回被修改的元素
7. E get(int index):返回指定索引处的元素

示例:

package List;

import java.util.ArrayList;
import java.util.List;

public class ListDemo02 {
     
	public static void main(String[] args) {
     
		
		List<String> list=new ArrayList<String>();
		
		list.add("hello");
		list.add("world");
		list.add("java");
		
		//void add(int index,E element)
		list.add(1,"javase");
		
		//E remove(int index)
		System.out.println(list.remove("hello"));
		
		//E set(int index,E element)	
		System.out.println(list.set(2,"javaee"));
		
		//E get(int index)
		for(int i=0;i<list.size();i++) {
     
			System.out.println(list.get(i));
		}	
		System.out.println(list);
	}
}


ListIterator:列表迭代器

  1. 通过List集合的listiterator()方法得到,所以说他是List集合特有的迭代器
  2. 继承自Iterator: E next():返回迭代器下一个元素
  3. boolean hasNext():如果迭代器具有更多元素,则返回true
  4. E previous():返回列表上一个元素
  5. boolean hasPrevious():如果此时迭代器在相反方向遍历列表时具有更多元素,则返回true
  6. void add(E e):将指定元素插入列表

示例:

package List;

import java.util.*;

public class ListIteatorDemo {
     
	public static void main(String[] args) {
     
		
		List<String> list=new ArrayList<String>();
		
		list.add("hello");
		list.add("world");
		list.add("java");

		ListIterator<String> lit=list.listIterator();
/*		while(lit.hasNext()) {
			String s=lit.next();
			System.out.println(s);
		}
		System.out.println("------");
		
		//倒序遍历
		while(lit.hasPrevious()) {
			String s=lit.previous();
			System.out.println(s);
		}
*/		
		while(lit.hasNext()) {
     
			String s=lit.next();
			if(s.equals("world")) {
     
				lit.add("javaee");
			}
		}
		
		System.out.println(list);
	}	
}


LinkedList特有功能:

  1. public void addFirst(E e):在该列表开头插入指定元素
  2. public void addLast(E e):将指定的元素追加到此列表的末尾
  3. public E getFirst():返回此列表第一个元素
  4. public E getLast():返回此列表最后一个元素
  5. public E removeFirst():从此列表删除并返回第一个元素
  6. public E removeLast():从此列表删除并返回最后一个元素

示例:

package List;

import java.util.LinkedList;

public class LinkedListDemo {
     
	public static void main(String[] args) {
     
		
		LinkedList<String> linkedList=new LinkedList<>();
		
		linkedList.add("hello");
		linkedList.add("world");
		linkedList.add("java");
		
		linkedList.addFirst("javase");
		linkedList.addLast("javaee");
		
		System.out.println(linkedList.getFirst());
		System.out.println(linkedList.getLast());
		
		System.out.println(linkedList.removeFirst());
		System.out.println(linkedList.removeLast());
		
		System.out.println(linkedList);
	}
}

作者:Y丶bs
来源链接:https://blog.csdn.net/weixin_45102820/article/details/113445948

标签: List

“JAVA------集合之List” 的相关文章

Java8 使用 stream().map()提取List对象的某一列值及排重

Java8 使用 stream().map()提取List对象的某一列值及排重

List对象类(StudentInfo) public class StudentInfo implements Comparable<...

List的扩容机制,你真的明白吗?

List的扩容机制,你真的明白吗?

一:背景 1. 讲故事 在前一篇大内存排查中,我们看到了Dictionary正在做扩容操作,当时这个字典的count=251w,你把字典玩的66飞起,其实都是底层为你负重前行...

将List集合的数据取出,放入到对象数组中

一:设置List集合数据 List<String> userIds = new ArrayList<>(); use...

javaList集合的两种赋值方式

写在之前 在开发中难免会有entity,vo,dto之间的转换那么如何优雅快速的进行转换呢?当然你可以get在set显然不推荐这样做!...

List集合进行按条件的过滤

在项目开发的过程中,我们经常会对List集合进行按条件的过滤,筛选出我们想要的结果或者是符合项目需求的数据。比如:我们有一批学生对象,每个学生都有自己的年龄属性,但是我们想要...

把list集合转换为JSON

把list集合转换为JSON字符串,然后我们就可以很轻松地将其存入数据库,并可以很方便地取出还原。在这里我使用的是alibaba的fastjson。...

js模拟list集合

/* * List 大小可变数组 */ function List() { this.list = new Array(); }; /** * 将指定的元素添加...

ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表

ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表

zk做为分布式架构中的重要中间件,通常会在上面以节点的方式存储一些关键信息,默认情况下,所有应用都可以读写任何节点,在复杂的应用中,这不太安全,ZK通过ACL机制来解...

List集合根据指定字段去除重复值

如果你是用的JDK8,那推荐你使用stream来操作 List<String> resultList=oldList.stream...

java 集合 List 学习

list 是collection 接口下面的一个子接口,List 接口下面有ArrayList,Vector,linkedList 实现类,和Queue接口,该接口下面Pri...