首页 > 编程语言 >Java -【字符串,数组,哈希表】常用操作

Java -【字符串,数组,哈希表】常用操作

时间:2023-09-25 17:25:34浏览次数:37  
标签:Java String int 数组 哈希 字符串 hashMap


一. 字符串

  1. 创建字符串:
    可以使用双引号或者String类的构造方法创建字符串。
String str1 = "Hello World";
String str2 = new String("Hello World");
  1. 连接字符串:
    可以使用加号或者String类的concat()方法连接字符串。
String str3 = str1 + str2;
String str4 = str1.concat(str2);
  1. 获取字符串长度:
    可以使用length()方法获取字符串的长度。
int len = str1.length();
  1. 获取字符串中的字符:
    可以使用charAt()方法获取字符串中指定位置的字符。
char c = str1.charAt(0);
  1. 截取字符串:
    可以使用substring()方法截取字符串。
String sub = str1.substring(0, 5);
  1. 替换字符串:
    可以使用replace()方法替换字符串中的字符或子串。
String newStr = str1.replace("World", "Java");
  1. 转换字符串大小写:
    可以使用toUpperCase()和toLowerCase()方法将字符串转换为全大写或全小写。
String upper = str1.toUpperCase();
String lower = str1.toLowerCase();
  1. 搜索字符串:
    可以使用indexOf()方法查找字符串中指定字符或子串的位置。
int index = str1.indexOf('o');
int index2 = str1.indexOf("World");
  1. 比较字符串:
    可以使用equals()方法比较字符串是否相等。
boolean isEqual = str1.equals(str2);
  1. 格式化字符串:
    可以使用String.format()方法将数据格式化为字符串。
String name = "小明";
int age = 20;
String info = String.format("姓名:%s,年龄:%d", name, age);
  1. 遍历字符串
String str = "Hello world!";
for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);
    System.out.println(c);
}

String str = "Hello world!";
for (char c : str.toCharArray()) {
    System.out.println(c);
}

二. 数组 - 列表

  1. 创建数组:
    可以使用初始化语句或new关键字创建数组。
int[] a = {1, 2, 3};
int[] b = new int[3];
  1. 获取数组长度:
    可以使用length属性获取数组长度。
int len = a.length;
  1. 访问数组元素:
    可以使用下标操作符[]访问数组元素。
int element = a[0];
  1. 修改数组元素:
    可以通过下标操作符[]修改数组元素。
a[1] = 4;
  1. 遍历数组:
    可以使用for循环或者foreach语句遍历数组。
for (int i = 0; i < a.length; i++) {
    System.out.println(a[i]);
}

for (int element : a) {
    System.out.println(element);
}
  1. 数组复制:
    可以使用Arrays类的copyOf()方法或System.arraycopy()方法复制数组。
int[] c = Arrays.copyOf(a, 3);
int[] d = new int[3];
System.arraycopy(a, 0, d, 0, 3);
  1. 反转列表:
    可以使用Collections类的reverse()方法对列表进行反转。
Collections.reverse(a);
  1. 数组排序:
    可以使用Arrays类的sort()方法对数组进行排序。
// 正序
Arrays.sort(a);

// 倒序,可以先正序再反转
Collections.reverse(a);
  1. 数组查找:
    可以使用Arrays类的binarySearch()方法对有序数组进行查找。
String str = Arrays.toString(a);

三. 哈希表HashMap - 字典

  1. 创建哈希表
HashMap<String, Integer> hashMap = new HashMap<>();
  1. 插入元素
hashMap.put("apple", 5);
hashMap.put("banana", 6);
  1. 获取元素
Integer appleValue = hashMap.get("apple"); // 返回5
  1. 删除元素
hashMap.remove("apple");
  1. 获取哈希表大小
int size = hashMap.size();
  1. 判断哈希表是否为空
boolean isEmpty = hashMap.isEmpty();
  1. 判断哈希表是否包含某个键或值
boolean containsKey = hashMap.containsKey("apple");
boolean containsValue = hashMap.containsValue(6);
  1. 清空哈希表
hashMap.clear();
  1. 遍历哈希表
for (String key : hashMap.keySet()) {
    Integer value = hashMap.get(key);
    System.out.println(key + ": " + value);
}
  1. 排序
HashMap<Integer, Integer> hashMap = new HashMap<>();
hashMap.put(3, 30);
hashMap.put(1, 10);
hashMap.put(2, 20);

List<Map.Entry<Integer, Integer>> list = new ArrayList<>(hashMap.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
    public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {
        return o1.getValue().compareTo(o2.getValue());
    }
});

for (Map.Entry<Integer, Integer> entry : list) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}

这里我们先将哈希表中的元素转换为一个 List,然后通过 Collections.sort() 方法对 List 进行排序,具体排序方式通过传入 Comparator 实现。最后,遍历排好序的 List 输出结果即可。

以上就是关于Java -【字符串,数组,哈希表】常用操作的基本介绍,希望对你有做帮助!


Java -【字符串,数组,哈希表】常用操作

标签:Java,String,int,数组,哈希,字符串,hashMap
From: https://www.cnblogs.com/ips9999/p/17728367.html

相关文章

  • Go - 【字符串,数组,哈希表】常用操作
    一.字符串字符串长度:s:="hello"l:=len(s)fmt.Println(l)//输出5遍历字符串:s:="hello"fori,c:=ranges{fmt.Printf("%d:%c",i,c)}//输出:0:h1:e2:l3:l4:ofori:=0;i<len(s);i++{ fmt.Printf("%s",s[......
  • Java -【字符串,数组,哈希表】常用操作
    一.字符串创建字符串:可以使用双引号或者String类的构造方法创建字符串。Stringstr1="HelloWorld";Stringstr2=newString("HelloWorld");连接字符串:可以使用加号或者String类的concat()方法连接字符串。Stringstr3=str1+str2;Stringstr4=str1.concat(str2);获......
  • 【JavaScript】JavaScript、Java 计算两个日期时间内的每一周,不足一周的按照一周计算
    计算两个日期时间内的每一周,不足一周的按照一周计算JavaScriptfunctionsplitWeeks(startDate,endDate){letstart=newDate(startDate);letend=newDate(endDate);letweeks=[];letcurrentDate=newDate(start);letweekStart=newDate(currentDat......
  • 《Java核心技术卷1》学习笔记汇总
    前言转部门了,而且换语言了,开始写接口了,虽然也会用到CPP,但是主要语言是JAVA,因此从零开始学JAVA吧。目录Java程序设计描述Java程序设计环境Java的基本程序设计结构对象与类继承接口、lambda表达式与内部类异常、断言和日志泛型程序设计集合图形用户界面程序设计Swing用户界面组件并发......
  • java项目开发常用配置文件模板
    mybatisconfig文件1<?xmlversion="1.0"encoding="UTF-8"?>2<!DOCTYPEconfiguration3PUBLIC"-//mybatis.org//DTDConfig3.0//EN"4"http://mybatis.org/dtd/mybatis-3-config.dtd">5......
  • Java内存模型
    JavaMemoryModel,JMM是一种规范,定义了程序中各个变量的访问规则,以及在某个线程中对这些变量进行访问时需要遵守的同步策略,所以其目的是解决多线程正确执行的问题。Java内存模型确保了多线程程序的可见性、有序性和原子性;主要内容包括:主内存(MainMemory):所有变量都存储在主内......
  • WPF 将字符串按固定位数间隔展示
    使用转换器,将字符串值做处理:usingSystem;usingSystem.Collections.Generic;usingSystem.Globalization;usingSystem.Linq;usingSystem.Text;usingSystem.Windows;usingSystem.Windows.Data;namespaceControls.Converters{publicclassStringSpaceConvert......
  • Java中的线程池的线程数量如何确定?
    可能很多人都看到过一个线程数设置的理论:CPU密集型的程序-核心数+1I/O密集型的程序-核心数*2不会吧,不会吧,真的有人按照这个理论规划线程数?线程数和CPU利用率的小测试抛开一些操作系统,计算机原理不谈,说一个基本的理论(不用纠结是否严谨,只为好理解):一个CPU核心,单......
  • Java基础
    equals()方法equals()方法的作用是比较两个字符串是否相等。为避免空指针异常finall关键字final关键字:可以修饰,变量,方法,类。final修饰的类无法被继承。final修饰的方法无法被覆盖,无法被重写。当final修饰的变量没有赋值时,允许第一次赋值,第二次报错。final......
  • Java数组
    Arrayjava语言中数组是一种引用数据类型。不属于基本数据类型。数组的父类是object。数组是一个容器,数组是一个数据的集合。数组中可以储存基本数据类型的数据,也可以储存引用数据类型的数据。数组是引用类型,所以数组对象储存在堆内存当中的。数组当中储存的是Java对象的话,实......