66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

摘要:本文详细列举了 66 个 Java 编程中的关键代码示例,包括基础语法、数据类型、条件判断、循环、数组、方法、面向对象、继承、接口、抽象类、多态、封装、静态变量、内部类、匿名类、泛型、集合框架、异常处理、文件 I/O、多线程、同步以及高级并发概念,帮助你从入门到成长为架构师。

66个Java常见代码大全:学完这篇从Java小白到AI全栈架构师

引言

在当今的编程世界中,Java 作为一种广泛使用的编程语言,涵盖了从基础语法到复杂架构的方方面面。无论是刚接触编程的新手,还是经验丰富的开发者,掌握Java的核心技术和常用模式,都是成为一名高效开发者的必经之路。本篇文章将带您通过 66 个关键代码示例,从零开始深入学习 Java,从最基础的语法到高阶的并发编程,帮助您成为一名合格的 全栈开发者架构师

这篇文章不仅包含了 Java 编程语言 中的核心概念、常见技术栈,还为您详细解析了 面向对象编程(OOP)与 多线程并发 的实际应用技巧。无论是构建简单的应用程序,还是设计复杂的分布式系统,本文的示例代码将为您提供明确的指导,帮助您快速上手并实现功能。

66个JAVA常见代码大全:学完这篇从Java小白到AI全栈架构师

文章目录


使用说明

  • 环境建议:JDK 17(兼容 11+)、Gradle/Maven 均可。
  • 示例风格:每节给出 1 个小示例,
    • 简短解释 + 可运行/可复用的核心代码;
    • 为避免类名冲突,示例类名各不相同或仅展示片段;
    • 可将多个示例放入同一工程的 src/main/java 目录下单独运行。

如何运行

# 以单文件方式运行 javac Demo01.java &&java Demo01 

1. Hello World

publicclassDemo01{publicstaticvoidmain(String[] args){System.out.println("Hello, World!");}}

2. 变量与类型

publicclassDemo02{publicstaticvoidmain(String[] args){int age =18;double score =98.5;boolean ok =true;char c ='A';long big =9_223_372_036_854_775_807L;// 下划线增强可读性var msg ="Java";// JDK 10 局部类型推断System.out.printf("age=%d, score=%.1f, ok=%b, c=%c, msg=%s\n", age, score, ok, c, msg);}}

3. 类型转换

publicclassDemo03{publicstaticvoidmain(String[] args){int i =10;long l = i;// 自动提升double d = l;int j =(int) d;// 强转可能丢失精度System.out.println(j);}}

4. 常量 final

publicclassDemo04{publicstaticfinaldoublePI=3.141592653589793;publicstaticvoidmain(String[] args){System.out.println(PI);}}

5. 运算符

publicclassDemo05{publicstaticvoidmain(String[] args){int a =5, b =2;System.out.println(a / b);// 2 整除System.out.println(a /(double) b);// 2.5 浮点System.out.println(a++);// 5(先用后加)System.out.println(++a);// 7(先加后用)System.out.println(a &1);// 位运算判断奇偶}}

6. 字符串操作

publicclassDemo06{publicstaticvoidmain(String[] args){String s =" Java ";System.out.println(s.trim().toUpperCase().replace(" ",""));System.out.println(String.join(",","A","B","C"));}}

7. 控制台输入

importjava.util.*;publicclassDemo07{publicstaticvoidmain(String[] args){try(Scanner sc =newScanner(System.in)){System.out.print("请输入名字: ");String name = sc.nextLine();System.out.println("Hi, "+ name);}}}

8. 格式化输出

publicclassDemo08{publicstaticvoidmain(String[] args){System.out.printf("%-10s | %8.2f\n","Revenue",12345.678);}}

9. if-else

publicclassDemo09{publicstaticvoidmain(String[] args){int score =86;String level = score >=90?"A": score >=80?"B":"C";System.out.println(level);}}

10. switch 表达式

publicclassDemo10{publicstaticvoidmain(String[] args){String day ="MON";int num =switch(day){case"MON","TUE","WED","THU","FRI"->1;case"SAT","SUN"->2;default->0;};System.out.println(num);}}

11. for 循环

publicclassDemo11{publicstaticvoidmain(String[] args){int sum =0;for(int i =1; i <=100; i++) sum += i;System.out.println(sum);}}

12. while/do-while

publicclassDemo12{publicstaticvoidmain(String[] args){int n =3;do{System.out.println(n--);}while(n >0);}}

13. break/continue/标签

publicclassDemo13{publicstaticvoidmain(String[] args){ outer:for(int i =0; i <3; i++){for(int j =0; j <3; j++){if(i ==1&& j ==1)break outer;System.out.printf("(%d,%d) ", i, j);}}}}

14. 增强 for

importjava.util.*;publicclassDemo14{publicstaticvoidmain(String[] args){for(var x :List.of(1,2,3))System.out.println(x);}}

15. 一维数组

importjava.util.Arrays;publicclassDemo15{publicstaticvoidmain(String[] args){int[] arr ={3,1,2};Arrays.sort(arr);System.out.println(Arrays.toString(arr));}}

16. 二维数组

importjava.util.Arrays;publicclassDemo16{publicstaticvoidmain(String[] args){int[][] m ={{1,2},{3,4}};System.out.println(Arrays.deepToString(m));}}

17. Arrays 工具类

importjava.util.Arrays;publicclassDemo17{publicstaticvoidmain(String[] args){int[] a ={1,3,5,7};System.out.println(Arrays.binarySearch(a,5));int[] b =Arrays.copyOf(a,6);System.out.println(Arrays.toString(b));}}

18. 方法与重载

publicclassDemo18{staticintadd(int a,int b){return a+b;}staticdoubleadd(double a,double b){return a+b;}publicstaticvoidmain(String[] args){System.out.println(add(1,2));System.out.println(add(1.2,3.4));}}

19. 可变参数

publicclassDemo19{staticintsum(int... xs){int s=0;for(int x:xs) s+=x;return s;}publicstaticvoidmain(String[] a){System.out.println(sum(1,2,3,4));}}

20. 类与对象

classUser{String name;int age;}publicclassDemo20{publicstaticvoidmain(String[] args){User u=newUser(); u.name="Tom"; u.age=20;System.out.println(u.name+":"+u.age);}}

21. 封装

classAccount{privatedouble balance;publicdoublegetBalance(){return balance;}publicvoiddeposit(double amt){if(amt<=0)thrownewIllegalArgumentException(); balance+=amt;}}

22. 构造器与 this

classPoint{int x,y;Point(){this(0,0);}Point(int x,int y){this.x=x;this.y=y;}}

23. static 成员与静态块

classIdGen{staticlong next=1;static{System.out.println("class loaded");}staticsynchronizedlongnextId(){return next++;}}

24. 继承与 super

classAnimal{voidsay(){System.out.println("...");}}classDogextendsAnimal{@Overridevoidsay(){super.say();System.out.println("wang");}}

25. 多态与重写

classShape{doublearea(){return0;}}classCircleextendsShape{double r;Circle(double r){this.r=r;}@Overridedoublearea(){returnMath.PI*r*r;}}classSquareextendsShape{double a;Square(double a){this.a=a;}@Overridedoublearea(){return a*a;}}

26. 抽象类

abstractclassTransport{abstractvoidmove();}classCarextendsTransport{voidmove(){System.out.println("Car go");}}

27. 接口(default/static)

interfaceLogger{voidinfo(String msg);defaultvoidwarn(String msg){System.out.println("WARN "+msg);}staticLoggernop(){return m->{};}}

28. 内部类与匿名类

classOuter{privateint v=42;classInner{intget(){return v;}}// 成员内部类}classUseAnon{staticRunnable r =newRunnable(){publicvoidrun(){System.out.println("anon run");}};}

29. 泛型类

classBox<T>{privateT v;publicvoidset(T v){this.v=v;}publicTget(){return v;}}

30. 泛型方法与通配符(PECS)

importjava.util.*;classG{static<T>voidcopy(List<?superT> dst,List<?extendsT> src){ dst.addAll(src);}// Producer Extends, Consumer Super}

31. 枚举

enumRole{ADMIN,USER,GUEST}

32. ArrayList/LinkedList

importjava.util.*;publicclassDemo32{publicstaticvoidmain(String[] a){List<Integer> arr =newArrayList<>(); arr.add(1); arr.add(2);Deque<Integer> link =newLinkedList<>(); link.addFirst(3); link.addLast(4);System.out.println(arr+" | "+link);}}

33. HashMap/LinkedHashMap/TreeMap

importjava.util.*;publicclassDemo33{publicstaticvoidmain(String[] a){Map<String,Integer> m1=newHashMap<>(); m1.put("b",2); m1.put("a",1);Map<String,Integer> m2=newLinkedHashMap<>(); m2.put("b",2); m2.put("a",1);Map<String,Integer> m3=newTreeMap<>(); m3.put("b",2); m3.put("a",1);System.out.println(m1.keySet());System.out.println(m2.keySet());System.out.println(m3.keySet());}}

34. HashSet/LinkedHashSet/TreeSet

importjava.util.*;publicclassDemo34{publicstaticvoidmain(String[] a){System.out.println(newHashSet<>(List.of(3,1,2)));// 无序System.out.println(newLinkedHashSet<>(List.of(3,1,2)));// 插入序System.out.println(newTreeSet<>(List.of(3,1,2)));// 自然序}}

35. Queue/Deque

importjava.util.*;publicclassDemo35{publicstaticvoidmain(String[] a){Queue<Integer> q =newArrayDeque<>(); q.offer(1); q.offer(2);System.out.println(q.poll());Deque<Integer> d =newArrayDeque<>(); d.addFirst(1); d.addLast(2);System.out.println(d.removeLast());}}

36. Comparable/Comparator

importjava.util.*;classPersonimplementsComparable<Person>{String n;int a;Person(String n,int a){this.n=n;this.a=a;}publicintcompareTo(Person o){returnInteger.compare(a,o.a);}publicStringtoString(){return n+":"+a;}}publicclassDemo36{publicstaticvoidmain(String[] a){List<Person> list =newArrayList<>(List.of(newPerson("A",30),newPerson("B",20))); list.sort(Comparator.comparing(p->p.n));// 使用 ComparatorSystem.out.println(list);}}

37. Stream 基本操作

importjava.util.*;importjava.util.stream.*;publicclassDemo37{publicstaticvoidmain(String[] a){var r =IntStream.rangeClosed(1,10).filter(x->x%2==0).map(x->x*x).boxed().toList();System.out.println(r);}}

38. Optional

importjava.util.*;publicclassDemo38{staticOptional<String>find(boolean ok){return ok?Optional.of("ok"):Optional.empty();}publicstaticvoidmain(String[] a){System.out.println(find(true).orElse("N/A"));}}

39. Collectors 分组/分区

importjava.util.*;importjava.util.stream.*;publicclassDemo39{publicstaticvoidmain(String[] a){recordP(String n,int a){}var ps =List.of(newP("A",18),newP("B",20),newP("C",20));var byAge = ps.stream().collect(Collectors.groupingBy(P::a));var part = ps.stream().collect(Collectors.partitioningBy(p->p.a>=20));System.out.println(byAge);System.out.println(part);}}

40. try-catch-finally & 多重捕获

publicclassDemo40{publicstaticvoidmain(String[] args){try{Integer.parseInt("x");}catch(NumberFormatException|NullPointerException e){System.out.println("bad number");}finally{System.out.println("done");}}}

41. 自定义异常

classBizExceptionextendsRuntimeException{BizException(String m){super(m);}}

42. try-with-resources

importjava.io.*;publicclassDemo42{publicstaticvoidmain(String[] args)throwsException{try(var in =newByteArrayInputStream("hi".getBytes());var out =newByteArrayOutputStream()){ out.write(in.readAllBytes());System.out.println(out);}}}

43. NIO.2 文件读写

importjava.nio.file.*;importjava.nio.charset.StandardCharsets;importjava.io.IOException;publicclassDemo43{publicstaticvoidmain(String[] args)throwsIOException{Path p =Path.of("/tmp/demo.txt");Files.writeString(p,"hello",StandardCharsets.UTF_8);System.out.println(Files.readString(p));}}

44. 对象序列化

importjava.io.*;classBookimplementsSerializable{String name;Book(String n){name=n;}}publicclassDemo44{publicstaticvoidmain(String[] args)throwsException{var f =newFile("/tmp/book.bin");try(var o =newObjectOutputStream(newFileOutputStream(f))){ o.writeObject(newBook("Java"));}try(var i =newObjectInputStream(newFileInputStream(f))){System.out.println(((Book)i.readObject()).name);}}}

45. 缓冲流

importjava.io.*;publicclassDemo45{publicstaticvoidmain(String[] args)throwsException{try(var in =newBufferedInputStream(newFileInputStream("/etc/hosts"))){byte[] buf = in.readAllBytes();System.out.println(buf.length);}}}

46. 目录遍历 Files.walk

importjava.nio.file.*;importjava.io.IOException;publicclassDemo46{publicstaticvoidmain(String[] a)throwsIOException{try(var s =Files.walk(Path.of("."),1)){ s.forEach(System.out::println);}}}

47. 正则表达式

importjava.util.regex.*;publicclassDemo47{publicstaticvoidmain(String[] a){var m =Pattern.compile("(\\w+)@(\\w+\\.\\w+)").matcher("hi [email protected]");if(m.find())System.out.println(m.group(1)+"@"+m.group(2));}}

48. 命令行参数

publicclassDemo48{publicstaticvoidmain(String[] args){for(String s:args)System.out.println(s);}}

49. 创建线程:Thread/Runnable

publicclassDemo49{publicstaticvoidmain(String[] a){newThread(()->System.out.println("hi from "+Thread.currentThread().getName())).start();}}

50. sleep/yield/join

publicclassDemo50{publicstaticvoidmain(String[] a)throwsInterruptedException{Thread t =newThread(()->{try{Thread.sleep(100);}catch(InterruptedException ignored){}}); t.start(); t.join();System.out.println("joined");}}

51. synchronized 同步

classCounter{privateint c;publicsynchronizedvoidinc(){ c++;}publicsynchronizedintget(){return c;}}

52. volatile 可见性演示

publicclassDemo52{staticvolatileboolean running =true;// 保证线程间可见publicstaticvoidmain(String[] a)throwsException{var t =newThread(()->{while(running){}}); t.start();Thread.sleep(10); running =false; t.join();System.out.println("stop");}}

53. 原子类 AtomicInteger

importjava.util.concurrent.atomic.*;classCnt{AtomicInteger n =newAtomicInteger();voidinc(){ n.incrementAndGet();}}

54. ReentrantLock

importjava.util.concurrent.locks.*;classSafeBox{privateint v;privatefinalLock lock=newReentrantLock();voidset(int x){ lock.lock();try{ v=x;}finally{ lock.unlock();}}intget(){ lock.lock();try{return v;}finally{ lock.unlock();}}}

55. ReadWriteLock

importjava.util.concurrent.locks.*;classCacheRW{privateint v;privatefinalReadWriteLock rw =newReentrantReadWriteLock();intget(){ rw.readLock().lock();try{return v;}finally{ rw.readLock().unlock();}}voidset(int x){ rw.writeLock().lock();try{ v=x;}finally{ rw.writeLock().unlock();}}}

56. Condition await/signal

importjava.util.concurrent.locks.*;classWaiter{finalLock lock=newReentrantLock();finalCondition ready=lock.newCondition();boolean ok=false;voidwaitIt()throwsInterruptedException{ lock.lock();try{while(!ok) ready.await();}finally{ lock.unlock();}}voidfire(){ lock.lock();try{ ok=true; ready.signalAll();}finally{ lock.unlock();}}}

57. ThreadLocal

publicclassDemo57{staticThreadLocal<String> ctx =ThreadLocal.withInitial(()->"guest");}

58. BlockingQueue 生产者-消费者

importjava.util.concurrent.*;publicclassDemo58{publicstaticvoidmain(String[] a)throwsException{BlockingQueue<Integer> q =newLinkedBlockingQueue<>(2);newThread(()->{try{for(int i=1;i<=3;i++){ q.put(i);} q.put(-1);}catch(InterruptedException ignored){}}).start();newThread(()->{try{for(;;){int x=q.take();if(x==-1)break;System.out.println("consume "+x);}}catch(InterruptedException ignored){}}).start();}}

59. CountDownLatch

importjava.util.concurrent.*;publicclassDemo59{publicstaticvoidmain(String[] a)throwsException{var latch=newCountDownLatch(3);for(int i=0;i<3;i++)newThread(()->{ latch.countDown();}).start(); latch.await();System.out.println("all done");}}

60. CyclicBarrier

importjava.util.concurrent.*;publicclassDemo60{publicstaticvoidmain(String[] a){var barrier=newCyclicBarrier(3,()->System.out.println("go!"));for(int i=0;i<3;i++)newThread(()->{try{ barrier.await();}catch(Exception ignored){}}).start();}}

61. Semaphore

importjava.util.concurrent.*;publicclassDemo61{publicstaticvoidmain(String[] a){var sem =newSemaphore(2);for(int i=0;i<5;i++)newThread(()->{try{ sem.acquire();System.out.println("in");Thread.sleep(50);}catch(Exception ignored){}finally{ sem.release();}}).start();}}

62. Phaser

importjava.util.concurrent.*;publicclassDemo62{publicstaticvoidmain(String[] a){Phaser p =newPhaser(3);for(int i=0;i<3;i++)newThread(()->{ p.arriveAndAwaitAdvance();System.out.println("phase1"); p.arriveAndDeregister();}).start();}}

63. ExecutorService 线程池

importjava.util.concurrent.*;publicclassDemo63{publicstaticvoidmain(String[] a)throwsException{ExecutorService pool =Executors.newFixedThreadPool(4);Future<Integer> f = pool.submit(()->42);System.out.println(f.get()); pool.shutdown();}}

64. ScheduledExecutorService 定时任务

importjava.util.concurrent.*;publicclassDemo64{publicstaticvoidmain(String[] a){var sch =Executors.newScheduledThreadPool(1); sch.scheduleAtFixedRate(()->System.out.println("tick"),0,1,TimeUnit.SECONDS);}}
提示:示例 64 会持续打印,可在演示时添加退出条件或手动停止进程。

65. CompletableFuture

importjava.util.concurrent.*;publicclassDemo65{publicstaticvoidmain(String[] a)throwsException{var f =CompletableFuture.supplyAsync(()->21).thenApply(x -> x *2);System.out.println(f.get());}}

66. ForkJoinPool

importjava.util.concurrent.*;importjava.util.*;publicclassDemo66{staticclassSumextendsRecursiveTask<Long>{finalint[] arr;finalint lo, hi;staticfinalintTH=1_000;Sum(int[] arr,int lo,int hi){this.arr=arr;this.lo=lo;this.hi=hi;}protectedLongcompute(){if(hi-lo<=TH){long s=0;for(int i=lo;i<hi;i++) s+=arr[i];return s;}int mid=(lo+hi)/2;var left=newSum(arr,lo,mid);var right=newSum(arr,mid,hi); left.fork();long r=right.compute();return left.join()+r;}}publicstaticvoidmain(String[] a){int[] data=newRandom().ints(1_000_000,1,10).toArray();long s =ForkJoinPool.commonPool().invoke(newSum(data,0,data.length));System.out.println(s);}}

进一步学习与架构思维

  • 从“写得通”到“写得稳”:单元测试、异常边界、不可变对象(record / Collections.unmodifiable*)。
  • 从单体到分布式:理解并发原语到线程池隔离,进而到服务化(超时、重试、熔断、限流)的设计理念。
  • 数据与 AI 接口:HTTP 客户端(Java 11+ HttpClient)、JSON 编解码(选择 Jackson/Gson 等库)、向量数据库/消息队列客户端的异步调用,落地到 CompletableFuture 组合编排。
  • 性能与可观测:JFR(Java Flight Recorder)、JIT/GC 基础、指标与日志链路。

基础语法面向对象编程集合与流文件 I/O并发与线程现代并发与编排Web/AI/数据组件全栈/架构Java基本数据类型控制结构类与对象继承与多态抽象类与接口集合框架Stream API文件读取与写入路径与文件操作线程基础同步与锁线程池异步编程Web开发基础AI与机器学习数据分析与处理

结束语

通过本文的详细讲解和丰富示例,我们已经涵盖了 Java 编程中的 66 个关键技术点,并为您提供了从基础到进阶的学习路径。从 基本语法多线程,每个概念都为您奠定了坚实的基础。通过实际代码示例和常见模式的掌握,您将能够轻松应对复杂项目和架构设计。

然而,技术的学习是一个持续的过程。希望本文能够成为您的学习指南,带领您迈向更加专业的编程生涯。接下来,您可以进一步探索 Java 的高级应用,如 分布式系统设计微服务架构、以及 人工智能与大数据处理 等方向。让我们从基础到架构,再到性能优化和高可用设计,逐步提升您的技术能力。

如果您在学习过程中有任何问题,欢迎在评论区留言,或与我互动交流。不断实践,持续成长,未来的全栈架构师之路,已经向您敞开。让我们一起迎接下一个技术高峰!


Read more

【C++】 —— 笔试刷题day_18

【C++】 —— 笔试刷题day_18

一、压缩字符串(一) 题目解析 题目给定一个字符str,让我们将这个字符串进行压缩; **压缩规则:**出现多次的字符压缩成字符+数字;例如aaa压缩成a3。如果字符值出现一次,1不用写。 算法思路 这道题总的来说就非常简单了,我们直接模拟整个过程即可。 思路: 示例双指针遍历,统计字符和字符出现的次数; i固定一个字符,j向后遍历找与i位置相同的字符,如果相同就继续向后遍历,直到j位置与i位置的字符不相同; j向后遍历结束,i位置字符出现的字符次数为j-i;如果j-1大于1就在结果字符串中加入出现的次数;等于1则不用加次数。 代码实现 classSolution{public: string compressString(string param){ string ret;for(int i =0;i<param.size();){int j = i+1;while(j<

By Ne0inhk
RabbitMQ如何成为分布式系统的“神经中枢“?——从安装部署到C++调用实战的完整流程,带你体验它的奥妙所在!​

RabbitMQ如何成为分布式系统的“神经中枢“?——从安装部署到C++调用实战的完整流程,带你体验它的奥妙所在!​

文章目录 * 本篇摘要 * ①·RabbitMq(轻量级消息队列中间件) 介绍 * RabbitMQ 是什么? * 核心功能与特点 * 1. **核心功能** * 2. **核心优势** * RabbitMQ 的核心概念 * 1. **生产者(Producer)** * 2. **消费者(Consumer)** * 3. **队列(Queue)** * 4. **交换机(Exchange)** * 5. **绑定(Binding)** * 工作流程(以 Direct 交换机为例) * 常见应用场景 * RabbitMQ 与相关技术对比 * 图像理解 * 总结一句话 * ②·RabbitMq 安装教程 * RabbitMq安装 * **1. 安装 RabbitMQ** * **2. 启动 & 检查状态** * **3. 创建管理员用户(

By Ne0inhk
C++性能优化:提升代码执行效率的艺术

C++性能优化:提升代码执行效率的艺术

C++性能优化:提升代码执行效率的艺术 一、学习目标与重点 本章将深入探讨C++性能优化的核心知识,帮助你掌握提升代码执行效率的艺术。通过学习,你将能够: 1. 理解性能优化的基本概念,掌握性能分析的方法 2. 学会优化内存管理,减少内存泄漏和内存碎片 3. 理解CPU优化技巧,提高代码的执行速度 4. 学会优化I/O操作,提升文件和网络读写的效率 5. 培养性能优化思维,设计高效的代码 二、性能优化的基本概念 2.1 性能优化的原则 性能优化应该遵循以下原则: * 先测量后优化:在优化之前,必须先测量代码的性能,找出瓶颈所在 * 优化瓶颈:只优化对性能影响最大的部分 * 保持代码的可维护性:优化后的代码应该易于理解和维护 * 测试优化结果:优化后必须测试代码的正确性和性能提升效果 2.2 性能分析工具 常用的性能分析工具包括: * GProf:GNU的性能分析工具 * Valgrind:内存调试和性能分析工具

By Ne0inhk
深入解剖STL map/multimap:接口使用与核心特性详解

深入解剖STL map/multimap:接口使用与核心特性详解

❤️@燃于AC之乐 来自重庆 计算机专业的一枚大学生 ✨专注 C/C++ Linux 数据结构 算法竞赛 AI 🏞️志同道合的人会看见同一片风景! 👇点击进入作者专栏: 《算法画解》 ✅ 《linux系统编程》✅ 《C++》 ✅ 🌟《算法画解》算法相关题目点击即可进入实操🌟 感兴趣的可以先收藏起来,请多多支持,还有大家有相关问题都可以给我留言咨询,希望希望共同交流心得,一起进步,你我陪伴,学习路上不孤单! 文章目录 * 前言(map系列容器概述) * 一、map类介绍 * 1.1 map的类模板声明 * 二、pair类型介绍 * 2.1 pair的结构定义 * 2.2 pair的使用要点 * 三、map的构造与迭代器 * 3.1 构造接口 * 3.2 迭代器接口 * 四、map的增删查操作

By Ne0inhk