【Java基础】常用类的操作

文章目录

  • String类
  • StringBuilder类
  • Scanner类
  • 包装类
  • 集合类
    • ArrayList实现类
    • LinkedList实现类
    • HashSet 实现类
    • HashMap 实现类

String类

  • 字符位置查找:s.charAt(index)找到index这个位置的字符
  • 字符串比较:s.equals(c)比较两个字符串的内容是否一样。不能使用==
  • 字符串的连接:s = s1+s2;
  • indexOf():获取字符或者子串第一次出现的位置,如果找不到返回-1
  • lasIndexOf():获取字符或者子串最后一次出现的位置
  • substring(begin,end):其中左闭右开。截取字符串。
  • String[] split(String regex):将字符串分割为子串。String[] strArr = str1.split(" ");
  • byte[] ascii = str2.getBytes();将字符串转换为字节数组。

StringBuilder类

StringBuilderString 不同,它具有可变性,但不是线程安全的。StringBuffer 也是可变的并其实线程安全的。

  • 新建:StringBuilder str = new StringBuilder("Hello");初始容量一般是16
  • 连接:str.append('s')这里连接的未必是char,也可以是其他类型。
  • 字符串替换:replace(int start, int end, String str)
  • 反转:s.reverse()

Scanner类

  • 创建:Scanner scanner = new Scanner(System.in);
  • 读入:next系列
  • 判断:hasNext()系列
import java.util.Scanner;

public class ScannerDemo1 {
    public static void main(String[] args) {
        // 创建扫描器对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一段内容,输入回车结束:");
        // 可以将用户输入的内容扫描为字符串
        String str = scanner.next();
        Int a = scanner.nextInt();
        String s1 = scanner.nextLine() //返回输入回车之前的所有字符;
        // 打印输出
        System.out.println("您输入的内容为:" + str);
        // 关闭扫描器
        scanner.close();
    }
}

包装类

父类是Nume
包括:Byte, Short, Integer, Long, FLoat, Double, Character, Boolean

  • 生成Integer变量:Integer num = new Integer("8");
  • 数字转换字符:a.toSring()其中a需要是Integer。
  • 字符转数字:Integer a = valueOf('9')

集合类

Java 中集合主要分为 java.util.Collection 和 java.util.Map 两大接口。
Collection 又可以分为三个子接口,分别是:

  • List:序列,必须按照顺序保存元素,因此它是有序的,允许重复;
  • Queue:队列,按照排队规则来确定对象产生的顺序,有序,允许重复;
  • Set:集,不能重复。

【Java基础】常用类的操作_第1张图片

ArrayList实现类

这个实现方法的好处在于访问,不利于修改。

  • 构造:List arrayList1 = new ArrayList();或者添加泛型List arrayList = new ArrayList<>();

成员方法:

  • void add(E e):将指定的元素追加到此列表的末尾;

  • void add(int index, E element):将指定的元素插入此列表中的指定位置;

  • E remove(int index):删除此列表中指定位置的元素;

  • boolean remove(Object o):如果存在指定元素,则从该列表中删除第一次出现的该元素;

  • void clear():从此列表中删除所有元素;

  • E set(int index, E element):用指定的元素替换此列表中指定位置的元素;

  • E get(int index):返回此列表中指定位置的元素;

  • boolean contains(Object o):如果此列表包含指定的元素,则返回 true,否则返回 false;

  • int size():返回该列表中元素的数量;

是可以直接被打印的System.out.println(arrayList);
打印一个int[]的方法

    int[] array = {1,2,3,4,5};
    System.out.println(Arrays.toString(array));
       int[][]magicSquare =
      	 {
      		 {16,3,2,13},
      		 {5,10,11,8},
      		 {9,6,7,3}
      	 };
   for(int i=0;i<magicSquare.length;i++)
      System.out.println(Arrays.toString(magicSquare[i]));

LinkedList实现类

大多数都是与前面一样的函数实现,但是双向链表的实现方法有利于插入或者删除数字。

HashSet 实现类

Set 是 Collection 的一个子接口,它的主要实现类有:HashSet、TreeSet、LinkedHashSet、EnumSet 等,下面我们将详细介绍最常用的 HashSet 实现类。

构造:Set hashSet = new HashSet();
HashSet 的常用成员方法如下:

  • boolean add(E e):如果指定的元素尚不存在,则将其添加到该集合中;
  • boolean contains(Object o):如果此集合包含指定的元素,则返回 true,否则返回 false;
  • boolean isEmpty():如果此集合不包含任何元素,则返回 true,否则返回 false;
  • Iterator iterator():返回此集合中元素的迭代器;
  • boolean remove(Object o):从该集合中删除指定的元素(如果存在);
  • int size():返回此集合中的元素数量。

Set也是可以直接被打印的。
迭代器的使用:

        // 获取 hashSet 中元素的迭代器
        Iterator<String> iterator = hashSet.iterator();
        System.out.println("迭代器的遍历结果为:");
        while (iterator.hasNext()) {
            System.out.println(iterator.next());

HashMap 实现类

HashMap 是 java.util.Map 接口最常用的一个实现类,前面所学的 HashSet 底层就是通过 HashMap 来实现的,HashMap 允许使用 null 键和 null 值。

构造:Map map = new HashMap<>();

常用成员方法

void clear():从该映射中删除所有映射;
Set> entrySet:返回此映射中包含的映射的集合;
V get(Object key):返回指定键映射到的值,如果该映射不包含键的映射,则返回 null;
Set keySet:返回此映射中包含的键的结合;
V put(K key, V value):将指定值与此映射中指定键关联;
V remove(Object key):如果存在,则从此映射中删除指定键的映射。
Collection values:返回此映射中包含的集合。

        Set<Entry<String, String>> entries = map.entrySet();
        for (Entry<String, String> entry: entries) {
            System.out.println(entry.getKey() + " - " + entry.getValue());
        }
        // 查找集合中键为 English 对应的值
        Set<String> keySet = map.keySet();
        for (String key: keySet) {
            if (key.equals("English")) {
                System.out.println("English 键对应的值为:" + map.get(key));
                break;
            }
        }

你可能感兴趣的:(Java入门,字符串,列表,链表,java)