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

举报
红目香薰 发表于 2022/02/07 23:49:59 2022/02/07
【摘要】 由于咱们针对与算法使用,所有会有一些个函数可能平时用不到。 目录 list基础增 删 改 查 算法中最常用的交换 自然排序 反向排序·注不是倒序,不是倒序,不是倒序 随机排序 判断是否有某元素 集合截取 加强for循环foreach遍历列表 咱们挨个看看啊,先看 list基础增 删 改 查 add增加 ...

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

目录

list基础增 删 改 查

算法中最常用的交换

自然排序

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

随机排序

判断是否有某元素

集合截取

加强for循环foreach遍历列表


咱们挨个看看啊,先看

list基础增 删 改 查

add增加

remove删除

set修改

get查询


  
  1. package Action;
  2. import java.util.ArrayList;
  3. public class demo {
  4. public static void main(String[] args) {
  5. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  6. //增加
  7. arrayList.add(111);
  8. arrayList.add(222);
  9. arrayList.add(333);
  10. arrayList.add(444);
  11. arrayList.add(555);
  12. arrayList.add(666);
  13. System.out.println("集合元素有:"+arrayList);
  14. //删除·根据下标删除
  15. arrayList.remove(3);
  16. System.out.println("集合元素删除下标3后:"+arrayList);
  17. //修改
  18. arrayList.set(2, 777);
  19. System.out.println("集合元素修改下标2为777后:"+arrayList);
  20. //查询
  21. Integer index2 = arrayList.get(2);
  22. System.out.println("下标是2的值是:"+index2);
  23. }
  24. }

算法中最常用的交换

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


  
  1. package Action;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. public class demo {
  5. public static void main(String[] args) {
  6. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  7. //增加
  8. arrayList.add(111);
  9. arrayList.add(222);
  10. arrayList.add(333);
  11. arrayList.add(444);
  12. arrayList.add(555);
  13. arrayList.add(666);
  14. System.out.println("交换前元素顺序:"+arrayList);
  15. Collections.swap(arrayList, 1, 5);
  16. System.out.println("交换后元素顺序:"+arrayList);
  17. }
  18. }

效果:

自然排序

Collections.sort(list); 


  
  1. package Action;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. public class demo {
  5. public static void main(String[] args) {
  6. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  7. //增加
  8. arrayList.add(555);
  9. arrayList.add(666);
  10. arrayList.add(111);
  11. arrayList.add(333);
  12. arrayList.add(222);
  13. arrayList.add(444);
  14. System.out.println("排序前元素顺序:"+arrayList);
  15. Collections.sort(arrayList);
  16. System.out.println("排序后元素顺序:"+arrayList);
  17. }
  18. }

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


  
  1. package Action;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. public class demo {
  5. public static void main(String[] args) {
  6. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  7. //增加
  8. arrayList.add(555);
  9. arrayList.add(666);
  10. arrayList.add(111);
  11. arrayList.add(333);
  12. arrayList.add(222);
  13. arrayList.add(444);
  14. System.out.println("反向排序前元素顺序:"+arrayList);
  15. Collections.reverse(arrayList);
  16. System.out.println("反向排序后元素顺序:"+arrayList);
  17. }
  18. }

随机排序


  
  1. package Action;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. public class demo {
  5. public static void main(String[] args) {
  6. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  7. //增加
  8. arrayList.add(111);
  9. arrayList.add(222);
  10. arrayList.add(333);
  11. arrayList.add(444);
  12. arrayList.add(555);
  13. arrayList.add(666);
  14. System.out.println("随机排序前元素顺序:"+arrayList);
  15. Collections.shuffle(arrayList);//随机排序·适合洗牌
  16. System.out.println("随机排序后元素顺序:"+arrayList);
  17. }
  18. }

效果

判断是否有某元素


  
  1. package Action;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. public class demo {
  5. public static void main(String[] args) {
  6. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  7. //增加
  8. arrayList.add(111);
  9. arrayList.add(222);
  10. arrayList.add(333);
  11. arrayList.add(444);
  12. arrayList.add(555);
  13. arrayList.add(666);
  14. System.out.println("集合元素表:"+arrayList);
  15. //判断是否存在某值
  16. int info=666;
  17. boolean contains = arrayList.contains(info);
  18. System.out.println((contains?"有":"没有")+info+"元素");
  19. }
  20. }

效果

集合截取


  
  1. package Action;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.List;
  5. public class demo {
  6. public static void main(String[] args) {
  7. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  8. //增加
  9. arrayList.add(111);
  10. arrayList.add(222);
  11. arrayList.add(333);
  12. arrayList.add(444);
  13. arrayList.add(555);
  14. arrayList.add(666);
  15. System.out.println("原集合元素列表:"+arrayList);
  16. //截取后增加某元素
  17. List<Integer> subList = arrayList.subList(2, 4);
  18. subList.add(250);
  19. System.out.println("截取的元素列表:"+subList);
  20. //被动的在小标为4的位置上增加了一个250的值
  21. System.out.println("原集合元素列表:"+arrayList);
  22. }
  23. }

效果

加强for循环foreach遍历列表


  
  1. package Action;
  2. import java.util.ArrayList;
  3. public class demo {
  4. public static void main(String[] args) {
  5. ArrayList<Integer> arrayList = new ArrayList<Integer>();
  6. //增加
  7. arrayList.add(111);
  8. arrayList.add(222);
  9. arrayList.add(333);
  10. arrayList.add(444);
  11. arrayList.add(555);
  12. arrayList.add(666);
  13. //foreach遍历
  14. for (Integer i : arrayList) {
  15. System.out.println(i);
  16. }
  17. }
  18. }

效果

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

文章来源: laoshifu.blog.csdn.net,作者:红目香薰,版权归原作者所有,如需转载,请联系作者。

原文链接:laoshifu.blog.csdn.net/article/details/122801395

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。