在Java编程语言中,类是构建面向对象程序的基本单元。Java的类库非常丰富,提供了多种预定义的类,这些类可以用于不同的编程场景。以下是一些你可能不太熟悉但非常有用的Java类种类及其用法。

1. Collection Framework

Java集合框架是一组用于存储和操作对象的接口和实现。它包括以下几种类:

List

  • ArrayList: 用于存储可重复的元素集合,允许快速随机访问。
  • LinkedList: 用于存储可重复的元素集合,适合插入和删除操作。
  • Vector: 类似于ArrayList,但线程安全,适用于多线程环境。
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        System.out.println(list);
    }
}

Set

  • HashSet: 不允许重复元素,基于哈希表实现。
  • LinkedHashSet: 基于LinkedHashMap实现,插入顺序与访问顺序相同。
  • TreeSet: 基于红黑树实现,元素自然排序。
import java.util.HashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("Apple");
        set.add("Banana");
        System.out.println(set);
    }
}

Queue

  • PriorityQueue: 元素根据自然排序或自定义的比较器排序。
  • ArrayDeque: 双端队列,允许在两端进行插入和删除操作。
import java.util.PriorityQueue;
import java.util.Queue;

public class Main {
    public static void main(String[] args) {
        Queue<String> queue = new PriorityQueue<>();
        queue.add("Banana");
        queue.add("Apple");
        System.out.println(queue.poll());
    }
}

2. Input/Output (I/O)

Java I/O类用于处理文件、网络等输入输出操作。

File

  • 用于表示文件和目录。
import java.io.File;

public class Main {
    public static void main(String[] args) {
        File file = new File("example.txt");
        System.out.println(file.exists());
    }
}

BufferedReader

  • 用于从文件或字符串中读取文本。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader("example.txt"));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
    }
}

3. Math

Java Math类提供了各种数学运算。

Math.random()

  • 用于生成一个随机数。
import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random random = new Random();
        System.out.println(random.nextDouble());
    }
}

Math.round()

  • 用于四舍五入到最接近的整数。
public class Main {
    public static void main(String[] args) {
        double number = 3.6;
        System.out.println(Math.round(number));
    }
}

总结

以上只是Java中一些不太为人所知但非常有用的类种类的简要介绍。熟悉这些类可以帮助你更高效地编写代码,解决实际问题。在Java的世界中,类和接口的种类繁多,掌握它们是成为一名优秀Java开发者的关键。