1. Release Notes
    ❱
    1. Cangjie Release Notes
  2. Development Guide
    ❱
    1. Getting Started with Cangjie
      ❱
      1. Getting Started with Cangjie
      2. Installing the Cangjie Toolchain
      3. Running the First Cangjie Program
    2. Basic Concepts
      ❱
      1. Identifiers
      2. Program Structure
      3. Expressions
      4. Functions
    3. Basic Data Types
      ❱
      1. Basic Operators
      2. Integer
      3. Floating Point
      4. Boolean
      5. Character
      6. String
      7. Tuple
      8. Array
      9. Range
      10. Unit
      11. Nothing
    4. Functions
      ❱
      1. Function Definition
      2. Function Call
      3. Function Type
      4. Nested Function
      5. Lambda Expression
      6. Closure
      7. Syntactic Sugar in a Function Call
      8. Function Overloading
      9. Operator Overloading
      10. const Function and Constant Evaluation
    5. Structure Types
      ❱
      1. Defining a struct Type
      2. Creating a struct Instance
      3. mut Function
    6. Enum and Pattern Match
      ❱
      1. Enum
      2. Option Type
      3. Pattern Overview
      4. Refutability of Patterns
      5. match Expression
      6. Other Places to Use Patterns
    7. Classes and Interfaces
      ❱
      1. Classes
      2. Interfaces
      3. Properties
      4. Subtype Relationships
      5. Type Conversions
    8. Generics
      ❱
      1. Generic Overview
      2. Generic Functions
      3. Generic Interfaces
      4. Generic Classes
      5. Generic Structs
      6. Generic Enums
      7. Subtype Relationship of a Generic Type
      8. Type Alias
      9. Generic Constraints
    9. Extensions
      ❱
      1. Extension Overview
      2. Direct Extensions
      3. Interface Extensions
      4. Access Rules
    10. Collection Types
      ❱
      1. Basic Collection Type Overview
      2. ArrayList
      3. HashSet
      4. HashMap
      5. Iterable and Collections
    11. Packages
      ❱
      1. Package Overview
      2. Package Declaration
      3. Visibility of Top-Level Declarations
      4. Package Import
      5. Program Entry
    12. Exceptions
      ❱
      1. Defining Exceptions
      2. Throwing and Handling Exceptions
      3. Common Runtime Exceptions
      4. Using Options
    13. Concurrent Programming
      ❱
      1. Concurrency Overview
      2. Creating a Thread
      3. Accessing a Thread
      4. Terminating a Thread
      5. Synchronization Mechanism
      6. Thread Sleep Duration
    14. Basic I/O Operations
      ❱
      1. I/O Stream Overview
      2. I/O Node Streams
      3. I/O Processing Streams
    15. Network Programming
      ❱
      1. Network Programming Overview
      2. Socket Programming
      3. HTTP Programming
      4. WebSocket Programming
    16. Macro
      ❱
      1. Macro Overview
      2. Token Types and quote Expressions
      3. Syntax Nodes
      4. Macro Implementation
      5. Compiling, Error Reporting, and Debugging
      6. Defining and Importing Macro Packages
      7. Built-in Compilation Flags
      8. Practical Cases
    17. Reflections and Annotations
      ❱
      1. Dynamic Features
      2. Annotations
    18. Cross-Language Interoperability
      ❱
      1. Cangjie-C Interoperability
    19. Compilation and Building
      ❱
      1. cjc Usage
      2. Introduction to cjpm
      3. Conditional Compilation
    20. Deployment and Operation
      ❱
      1. Deploying the Cangjie Runtime
      2. Running Cangjie Executable Programs
    21. Appendix
      ❱
      1. cjc Compilation Options
      2. Installation and Support of Toolchain on Linux
      3. Runtime Environment Variable User Guide
      4. Keywords
      5. Operators
      6. Operator Functions
      7. TokenKind Type
  3. API Reference
    ❱
    1. Cangjie Standard Library API Reference
    2. std.core
      ❱
      1. Functions
      2. Types
      3. Built-in Types
      4. Interfaces
      5. Classes
      6. Enums
      7. Structs
      8. Exceptions/Errors
      9. Samples
        ❱
        1. Cangjie Concurrent Programming Example
        2. Example of Interaction Between CString and C Language Code
    3. std.argopt
      ❱
      1. Functions
      2. Classes
      3. Enums
      4. Structs
      5. Exceptions/Errors
      6. Samples
        ❱
        1. Parsing Command Line Parameters
        2. Parsing Long Command Line Parameters (deprecated)
        3. Parsing Short Command Line Parameters (deprecated)
    4. std.ast
      ❱
      1. Functions
      2. Interfaces
      3. Classes
      4. Enums
      5. Structs
      6. Exceptions/Errors
      7. Samples
        ❱
        1. Macro With Context
        2. Syntax Tree Node Print
        3. AST Object Operation Example
        4. Example of Parsing Cangjie Source Code into an AST Object
        5. User-defined Error Reporting API
        6. Example of Traversing AST Objects Using a User-defined Access Function
    5. std.binary
      ❱
      1. Interfaces
    6. std.collection
      ❱
      1. Functions
      2. Interfaces
      3. Classes
      4. Exceptions/Errors
      5. Samples
        ❱
        1. Add Functions of ArrayList
        2. Get and Set Functions of ArrayList
        3. Remove, Clear, and Slice Functions of ArrayList
        4. Get, Add, and Contains Functions of HashMap
        5. Add, Remove, and Clear Functions of HashMap
        6. Add, Iterator, and Remove Functions of HashSet
        7. Add, Iterator, and Remove Functions of TreeSet
        8. Iterator Operation Function
    7. std.collection.concurrent
      ❱
      1. Types
      2. Interfaces
      3. Classes
      4. Samples
        ❱
        1. ConcurrentHashMap Usage Example
        2. ConcurrentLinkedQueue Usage Example
    8. std.console
      ❱
      1. Classes
      2. Samples
        ❱
        1. Console Example
    9. std.convert
      ❱
      1. Interfaces
      2. Samples
        ❱
        1. covert Usage Example
    10. std.crypto.cipher
      ❱
      1. Interfaces
    11. std.crypto.digest
      ❱
      1. Functions
      2. Interfaces
    12. std.database.sql
      ❱
      1. Interfaces
      2. Classes
      3. Enums
      4. Exceptions/Errors
      5. Samples
        ❱
        1. Example of Obtaining Database Connection
        2. Example of Deleting and Creating a Table
        3. Example of Executing Database Operation Statements
        4. Example of Executing Transaction Control Statements
    13. std.deriving
      ❱
      1. Macros
      2. Samples
        ❱
        1. Deriving Example
    14. std.env
      ❱
      1. Functions
      2. Classes
      3. Exceptions/Errors
      4. Samples
        ❱
        1. env Example
    15. std.fs
      ❱
      1. Functions
      2. Classes
      3. Enums
      4. Structs
      5. Exceptions/Errors
      6. Samples
        ❱
        1. Directory Example
        2. File Example
        3. FileInfo Example
        4. Path Example
    16. std.io
      ❱
      1. Functions
      2. Interfaces
      3. Classes
      4. Enums
      5. Exceptions/Errors
      6. Samples
        ❱
        1. BufferedInputStream Example
        2. BufferedOutputStream Example
        3. ByteBuffer Example
        4. ChainedInputStream Example
        5. MultiOutputStream Example
        6. StringReader Example
        7. StringWriter Example
    17. std.math
      ❱
      1. Interfaces
      2. Functions
      3. Enums
      4. Samples
        ❱
        1. Example of Basic Mathematical Operations
    18. std.math.numeric
      ❱
      1. Functions
      2. Enums
      3. Structs
      4. Samples
        ❱
        1. Example of Basic Mathematical Operations of BigInt
        2. Example of Basic Attributes of BigInt
        3. Example of Size Comparison of BigInt
        4. Example of Basic Mathematical Operations of Decimal
        5. Example of Basic Attributes of Decimal
        6. Example of Size Comparison of Decimal
    19. std.net
      ❱
      1. Interfaces
      2. Classes
      3. Enums
      4. Structs
      5. Exceptions/Errors
      6. Samples
        ❱
        1. Attribute Configuration Usage Example
        2. TCP Usage Example
        3. UDP Usage Example
        4. UNIX Usage Example
        5. UnixDatagram Usage Example
    20. std.objectpool
      ❱
      1. Classes
    21. std.overflow
      ❱
      1. Interfaces
      2. Exceptions/Errors
      3. Samples
        ❱
        1. Example of the Returning Option Policy
        2. Example of the Saturating Policy
        3. Example of the Throwing Exception Policy
        4. Example of the Most Significant Bit Truncation Policy
    22. std.posix
      ❱
      1. Variables and Constants
      2. Functions
      3. Samples
        ❱
        1. File Content Operations
        2. File Information Operations
        3. Obtaining System Information
        4. Information Operations Related to Processes
    23. std.process
      ❱
      1. Functions
      2. Classes
      3. Enums
      4. Exceptions/Errors
      5. Samples
        ❱
        1. Operations Related to Any Process
        2. Operations Related to Subprocesses
    24. std.random
      ❱
      1. Classes
    25. std.ref
      ❱
      1. Classes
      2. Enums
      3. Samples
        ❱
        1. WeakRef for Cache
    26. std.reflect
      ❱
      1. Functions
      2. Types
      3. Classes
      4. Enums
      5. Exceptions/Errors
      6. Samples
        ❱
        1. Usage of Annotation
        2. Usage of Dynamic Loading
        3. Usage of Member Information
        4. Usage of TypeInfo
    27. std.regex
      ❱
      1. Classes
      2. Enums
      3. Structs
      4. Exceptions/Errors
      5. Samples
        ❱
        1. Regex Example
    28. std.runtime
      ❱
      1. Functions
      2. Structs
    29. std.sort
      ❱
      1. Functions
      2. Interfaces
      3. Samples
        ❱
        1. Sorting Arrays
    30. std.sync
      ❱
      1. Variables and Constants
      2. Interfaces
      3. Classes
      4. Enums
      5. Structs
      6. Exceptions/Errors
      7. Samples
        ❱
        1. Usage of Atomic, Monitor, and Timer
    31. std.time
      ❱
      1. Classes
      2. Enums
      3. Structs
      4. Exceptions/Errors
      5. Samples
        ❱
        1. DateTime Comparison
        2. Conversion Between DateTime and String
        3. Obtaining the Date-Time Information
        4. Local Time of a Time in Different Time Zones
        5. Using MonoTime for Timing
    32. std.unicode
      ❱
      1. Interfaces
      2. Enums
    33. std.unittest
      ❱
      1. Functions
      2. Types
      3. Interfaces
      4. Classes
      5. Enums
      6. Structs
      7. Exceptions/Errors
      8. Samples
        ❱
        1. Getting Started with Unittest
        2. Basic Concepts and Usage of Unittest
        3. Parameterized Test
        4. Dynamic Test
        5. Test Templates
        6. Benchmark Tests
    34. std.unittest.mock
      ❱
      1. Functions
      2. Interfaces
      3. Classes
      4. Enums
      5. Exceptions/Errors
      6. Samples
        ❱
        1. Getting Started with the Mock Framework
        2. Basic Concepts and Usage of Mock
        3. Guide to Stubs
        4. Verification API of Mock Framework
    35. std.unittest.mock.mockmacro
      ❱
      1. Macros
    36. std.unittest.testmacro
      ❱
      1. Macros
    37. std.unittest.common
      ❱
      1. Functions
      2. Interfaces
      3. Classes
      4. Enums
    38. std.unittest.diff
      ❱
      1. Interfaces
    39. std.unittest.prop_test
      ❱
      1. Functions
      2. Interfaces
      3. Classes
      4. Structs
  4. Tools Guide
    ❱
    1. IDE Plug-in User Guide
      ❱
      1. Installation Guide
      2. Language Service
      3. Creating a Cangjie Project
      4. Compilation and Building
      5. Debug Service
      6. Command Line Tools Integration
    2. Command Line Tool Usage Guide
      ❱
      1. Package Manager
      2. Debugger
      3. Static Check Tool
      4. Formatting Tool
      5. Coverage Statistics in Command Line Mode
      6. Performance Analyzer
      7. Exception Stack Restoration Tool

HashMap