当前位置: 首页 > news >正文

java基础-List常用方法

目录

  • 常用方法
    • 逆序
    • 升序
    • List<自定义类>排序
    • List删除元素
    • List转String数组
    • List的add函数
    • 查找一个,分隔的字符串中是否有某值
    • 根据`.`分割字符串
    • 根据空格分隔字符串

常用方法

逆序

Collections.reverse(List)

升序

Collections.sort(List)

List<自定义类>排序

首先让自定义类实现Comparable<自定义类名称>,举例:

public class Order implements Comparable<Order> {@Overridepublic int compareTo(Order o) {return this.createTime.compareTo(o.getCreateTime());} // 注意java.util.Date不能用<=>比较,但是该类实现了Comparable接口
}

在需要排序处:

List<Order> orders = new ArrayList<>();
// 填充数据
// 升序:
Collections.sort(orders);
//降序:
Collections.sort(orders, Collections.reverseOrder());

List删除元素

单一删除的话,可以用List自带的remove,然后break。不然如果是删index0,有可能死循环没结果。
推荐使用Iterator删除,因为不需要跳出循环

import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;class Rextester {public static void main(String[] args) {List<String> list1 = new ArrayList<>();list1.add("aa");list1.add("bb");list1.add("cc");System.out.println(list1.size());Iterator<String> it = list1.iterator();while(it.hasNext()) {String x = it.next();if(x.equals("aa") || x.equals("cc")) {it.remove();}}/*for(String x: list1) {if(x.equals("aa")) {list1.remove(x);break;}}*/System.out.println(list1.size());for (String str : list1) {System.out.println("*"+str+"*");}}
}

List转String数组

List<String> result = new ArrayList<String>();
return result.toArray(new String[result.size()]);

List的add函数

如果连续几次添加同一个对象,期间如果对象的值发生改变,那存的就是最后的值,几个相同。

查找一个,分隔的字符串中是否有某值

split函数返回的是字符串数组,contains函数返回true或者false

import java.util.Arrays;
String[] temp = synonym.split(",");
Arrays.asList(temp).contains(name)

根据.分割字符串

分割符是 . 的时候一定要小心,需要转义String[] temp = fileName.split("\\.");当分隔的结果数组,后面有空格的时候,会被split函数删掉,比如“,123,,”用 , 作分隔符split的时候,结果的长度为2。前面有空格则无碍。

根据空格分隔字符串

String b = "Hello Java World";
String [] c = b.split("\\s+");
http://www.lryc.cn/news/305491.html

相关文章:

  • Android 如何添加自定义字体
  • MacOs 围炉夜话
  • 爬取数位观察城市数据知识总结
  • [About-C++] 非常实用的知识点
  • 渗透工具——kali中wpscan简介
  • 信息安全计划:它是什么、为什么需要一个以及如何开始
  • 【软件测试】定位前后端bug总结+Web/APP测试分析
  • Github 2024-02-21 开源项目日报 Top10
  • 机器学习模型的过拟合与欠拟合
  • 华为OD机试真题-虚拟游戏理财-2023年OD统一考试(C卷)---Python3--开源
  • 新手搭建服装小程序全攻略
  • 设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?
  • 联想开天昭阳N4620Z笔记本如何恢复出厂麒麟操作系统(图解)
  • Qt经典面试之理论总结(自己整理总结)
  • 【YOLO系列算法人员摔倒检测】
  • 获取淘宝商品详情API、商品主图、图片搜索api
  • HarmonyOS创建一个ArkTS卡片
  • ChatGPT Plus遇到订阅被拒原因与解决方案
  • UE蓝图 函数调用(CallFunction)节点和源码
  • Vue单文件学习项目综合案例Demo,黑马vue教程
  • 机器视觉【3】非线性求解相机几何参数
  • Qt编译报错:The slot requires more arguments than the signal provides.
  • 【Unity】提示No valid Unity Editor liscense found.Please active your liscense.
  • 如何在 Tomcat 中为 Web 应用程序启用和配置缓存?
  • QEMU开发入门
  • 10-pytorch-完整模型训练
  • 高级RAG:重新排名,从原理到实现的两种主流方法
  • 使用logicflow流程图实例
  • Stable Diffusion 绘画入门教程(webui)-ControlNet(IP2P)
  • 五力分析(Porter‘s Five Forces)