前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解

【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解

作者头像
红目香薰
发布2022-11-29 20:02:30
2680
发布2022-11-29 20:02:30
举报
文章被收录于专栏:CSDNToQQCode

由于咱们针对与算法使用,所有会有一些个函数可能平时用不到。

目录

list基础增 删 改 查

算法中最常用的交换

自然排序

反向排序·注不是倒序,不是倒序,不是倒序

随机排序

判断是否有某元素

集合截取

加强for循环foreach遍历列表

咱们挨个看看啊,先看

list基础增 删 改 查

add增加 remove删除 set修改 get查询

代码语言:javascript
复制
package Action;

import java.util.ArrayList;

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(111);
		arrayList.add(222);
		arrayList.add(333);
		arrayList.add(444);
		arrayList.add(555);
		arrayList.add(666);
		System.out.println("集合元素有:"+arrayList);
		//删除·根据下标删除
		arrayList.remove(3);
		System.out.println("集合元素删除下标3后:"+arrayList);
		//修改
		arrayList.set(2, 777);
		System.out.println("集合元素修改下标2为777后:"+arrayList);
		//查询
		Integer index2 = arrayList.get(2);
		System.out.println("下标是2的值是:"+index2);
		
	}
}

算法中最常用的交换

Collections.swap(list,2,3);//目的是将变量名为list的列表下标为2和3位置上的值进行交换

代码语言:javascript
复制
package Action;

import java.util.ArrayList;
import java.util.Collections;

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(111);
		arrayList.add(222);
		arrayList.add(333);
		arrayList.add(444);
		arrayList.add(555);
		arrayList.add(666);
		System.out.println("交换前元素顺序:"+arrayList);
		Collections.swap(arrayList, 1, 5);
		System.out.println("交换后元素顺序:"+arrayList);
	}
}

效果:

自然排序

Collections.sort(list); 

代码语言:javascript
复制
package Action;

import java.util.ArrayList;
import java.util.Collections;

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(555);
		arrayList.add(666);
		arrayList.add(111);
		arrayList.add(333);
		arrayList.add(222);
		arrayList.add(444);
		System.out.println("排序前元素顺序:"+arrayList);
		Collections.sort(arrayList);
		System.out.println("排序后元素顺序:"+arrayList);
	}
}

反向排序·注不是倒序,不是倒序,不是倒序

代码语言:javascript
复制
package Action;

import java.util.ArrayList;
import java.util.Collections;

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(555);
		arrayList.add(666);
		arrayList.add(111);
		arrayList.add(333);
		arrayList.add(222);
		arrayList.add(444);
		System.out.println("反向排序前元素顺序:"+arrayList);
		Collections.reverse(arrayList);
		System.out.println("反向排序后元素顺序:"+arrayList);
	}
}

随机排序

代码语言:javascript
复制
package Action;

import java.util.ArrayList;
import java.util.Collections;

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(111);
		arrayList.add(222);
		arrayList.add(333);
		arrayList.add(444);
		arrayList.add(555);
		arrayList.add(666);
		System.out.println("随机排序前元素顺序:"+arrayList);
		Collections.shuffle(arrayList);//随机排序·适合洗牌
		System.out.println("随机排序后元素顺序:"+arrayList);
	}
}

效果

判断是否有某元素

代码语言:javascript
复制
package Action;

import java.util.ArrayList;
import java.util.Collections;

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(111);
		arrayList.add(222);
		arrayList.add(333);
		arrayList.add(444);
		arrayList.add(555);
		arrayList.add(666);
		System.out.println("集合元素表:"+arrayList);
		//判断是否存在某值
		int info=666;
		boolean contains = arrayList.contains(info);
		System.out.println((contains?"有":"没有")+info+"元素");
	}
}

效果

集合截取

代码语言:javascript
复制
package Action;

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

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(111);
		arrayList.add(222);
		arrayList.add(333);
		arrayList.add(444);
		arrayList.add(555);
		arrayList.add(666);
		System.out.println("原集合元素列表:"+arrayList);
		//截取后增加某元素
		List<Integer> subList = arrayList.subList(2, 4);
		subList.add(250);
		System.out.println("截取的元素列表:"+subList);
		//被动的在小标为4的位置上增加了一个250的值
		System.out.println("原集合元素列表:"+arrayList);
	}
}

效果

加强for循环foreach遍历列表

代码语言:javascript
复制
package Action;

import java.util.ArrayList;

public class demo {
	public static void main(String[] args) {
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		//增加
		arrayList.add(111);
		arrayList.add(222);
		arrayList.add(333);
		arrayList.add(444);
		arrayList.add(555);
		arrayList.add(666);
		//foreach遍历
		for (Integer i : arrayList) {
			System.out.println(i);
		}
	}
}

效果

 用的最多的就是【ArrayList】所以针对它进行一个使用详情的演示操作,【LinkedList】操作都是类似的。下篇文章我会对照的比较一下【ArrayList】与【LinkedList】的【增删查】效率,以后你就能知道具体在什么时候用那个列表了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • list基础增 删 改 查
  • 算法中最常用的交换
  • 自然排序
  • 反向排序·注不是倒序,不是倒序,不是倒序
  • 随机排序
  • 判断是否有某元素
  • 集合截取
  • 加强for循环foreach遍历列表
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档