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

Java中常见API的分类概述及示例


1. 集合框架(java.util 包)

核心接口与实现类
接口实现类特点示例代码
ListArrayList, LinkedList有序、可重复List<String> list = new ArrayList<>(); list.add("Java");
SetHashSet, TreeSet无序、唯一Set<Integer> set = new HashSet<>(); set.add(10);
MapHashMap, LinkedHashMap键值对存储Map<String, Integer> map = new HashMap<>(); map.put("age", 25);
QueueLinkedList, PriorityQueue先进先出(FIFO)或优先级队列Queue<String> queue = new LinkedList<>(); queue.offer("task");
工具类
  • Collections:排序、查找等工具方法
    Collections.sort(list); // 排序
    
  • Arrays:数组操作
    int[] arr = {3,1,2}; Arrays.sort(arr); // 数组排序
    

2. 输入输出(java.io 与 java.nio 包)

传统IO
  • 字节流InputStream(如 FileInputStream)、OutputStream
  • 字符流Reader(如 FileReader)、Writer
    try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {String line = br.readLine();
    }
    
NIO(非阻塞IO)
  • ChannelFileChannelSocketChannel
  • BufferByteBufferCharBuffer
    Path path = Paths.get("file.txt");
    List<String> lines = Files.readAllLines(path); // 读取所有行
    

3. 多线程与并发(java.util.concurrent 包)

线程管理
  • Thread:创建线程
    new Thread(() -> System.out.println("Running")).start();
    
  • ExecutorService:线程池管理
    ExecutorService executor = Executors.newFixedThreadPool(4);
    executor.submit(() -> System.out.println("Task"));
    
并发工具
  • LockReentrantLock 替代synchronized
  • Atomic类:原子操作(如 AtomicInteger
    AtomicInteger count = new AtomicInteger(0);
    count.incrementAndGet(); // 线程安全递增
    

4. 日期时间(java.time 包,Java 8+)

核心类
  • LocalDate:日期(年月日)
    LocalDate date = LocalDate.now(); // 2023-10-05
    
  • LocalDateTime:日期时间
    LocalDateTime now = LocalDateTime.now();
    
  • Duration/Period:时间间隔计算

5. 字符串处理(java.lang 包)

  • String:不可变字符串
    String str = "Hello".substring(0, 3); // "Hel"
    
  • StringBuilder/StringBuffer:可变字符串(后者线程安全)
    StringBuilder sb = new StringBuilder();
    sb.append("Java").reverse(); // "avaJ"
    

6. 网络编程(java.net 包)

  • HTTP请求(Java 11+)
    HttpClient client = HttpClient.newHttpClient();
    HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://example.com")).build();
    HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
    

7. 反射(java.lang.reflect 包)

  • Class:获取类信息
    Class<?> clazz = String.class;
    Method[] methods = clazz.getMethods(); // 获取所有公共方法
    
  • 动态创建对象
    Object instance = clazz.getDeclaredConstructor().newInstance();
    

8. 函数式编程(Java 8+)

Stream API
List<String> list = Arrays.asList("a", "b", "c");
list.stream().filter(s -> s.startsWith("a")).forEach(System.out::println);
函数式接口
  • Predicate:条件判断
    Predicate<Integer> isEven = n -> n % 2 == 0;
    
  • Function:数据转换
    Function<String, Integer> lengthFunc = String::length;
    

9. 单元测试(JUnit 框架)

@Test
public void testAddition() {assertEquals(4, 2 + 2); // 断言测试
}

10. 其他实用API

  • Optional:避免空指针
    Optional<String> opt = Optional.ofNullable(getName());
    opt.ifPresent(System.out::println);
    
  • 正则表达式PatternMatcher
    Pattern pattern = Pattern.compile("\\d+");
    Matcher matcher = pattern.matcher("123");
    boolean matches = matcher.matches(); // true
    

总结

类别典型API适用场景
集合ArrayList, HashMap数据存储与快速访问
IO/NIOFiles, Path文件读写与高效IO操作
多线程ExecutorService, AtomicInteger并发任务与资源管理
日期时间LocalDateTime, Duration时间计算与格式化
函数式编程Stream, Lambda数据处理与链式操作

掌握这些API能显著提升开发效率,建议结合官方文档(Java SE Documentation 深入学习具体方法。

相关文章:

  • Python爬虫实战:获取xie程网近两周长沙飞敦煌机票数据,为51出行做参考
  • Go语言中 defer 使用场景及深度注意事项指南
  • 如何应对政策变化导致的项目风险
  • 【Linux】静态库 动态库
  • Python 设计模式:访问者模式
  • AI+直播电商:短视频商城APP开发如何实现智能化推荐?
  • element-ui、element-plus表单resetFields()无效的坑
  • el-date-picker时间范围 赋值报错问题
  • [创业之路-378]:企业法务 - 企业经营中有哪些触发刑法的风险?如何预防?
  • 雪花算法(JAVA单例不用修改版)
  • ref绑定函数
  • 人工智能赋能医疗影像诊断:开启精准医疗新时代
  • 【Web】TGCTF 2025 题解
  • 植物大战僵尸杂交版v3.6最新版本(附下载链接)
  • Java的反射机制(曼波超易懂图文版)
  • 【inlining failed in call to always_inline ‘_mm_aesenclast_si128’】
  • Smart AI:在AI浪潮中崛起的智能NFT生态革命者
  • 【Python进阶】正则表达式实战指南:从基础到高阶应用
  • qemu如何支持vpxor %xmm0,%xmm0,%xmm0(百度AI)
  • 卷积神经网络基础(四)
  • 耐克领跑女性运动市场:持续加码、创新,更多新增长点有望涌现
  • 三部门:对不裁员少裁员的参保企业实施稳岗返还政策至今年底
  • 商务部:服务业扩大开放试点任务多数来源于经营主体实际需要
  • 德国男中音马蒂亚斯·格内:古典音乐的未来在亚洲
  • 中国房地产报:以改促治实现楼市多难并解
  • 女子伸腿阻止列车关门等待同行人员,被深圳铁路警方行政拘留