{"id":36853943,"url":"https://github.com/xiaobogaga/data-structure","last_synced_at":"2026-01-12T14:41:42.685Z","repository":{"id":57735272,"uuid":"142259188","full_name":"xiaobogaga/data-structure","owner":"xiaobogaga","description":"another java collection library","archived":false,"fork":false,"pushed_at":"2019-02-17T05:58:40.000Z","size":489,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2023-12-20T21:55:08.970Z","etag":null,"topics":["collection","data-structures","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiaobogaga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-25T06:47:05.000Z","updated_at":"2021-12-13T03:46:19.000Z","dependencies_parsed_at":"2022-09-10T20:11:08.846Z","dependency_job_id":null,"html_url":"https://github.com/xiaobogaga/data-structure","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/xiaobogaga/data-structure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobogaga%2Fdata-structure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobogaga%2Fdata-structure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobogaga%2Fdata-structure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobogaga%2Fdata-structure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaobogaga","download_url":"https://codeload.github.com/xiaobogaga/data-structure/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobogaga%2Fdata-structure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collection","data-structures","java"],"created_at":"2026-01-12T14:41:42.209Z","updated_at":"2026-01-12T14:41:42.663Z","avatar_url":"https://github.com/xiaobogaga.png","language":"Java","readme":"java collection implementations for the data structures talked about in\nthe book **DATA STRUCTURES AND ALGORITHM ANALYSIS IN JAVA, THIRD EDITION**\n\n[![Build Status](https://travis-ci.org/xiaobogaga/data-structure.svg?branch=master)](https://travis-ci.org/xiaobogaga/data-structure)\n[![Javadocs](https://www.javadoc.io/badge/io.github.xiaobogaga/datastructure.svg)](https://www.javadoc.io/doc/io.github.xiaobogaga/datastructure)\n[![Maven Central](https://img.shields.io/maven-central/v/io.github.xiaobogaga/datastructure.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.github.xiaobogaga%22%20AND%20a:%22datastructure%22)\n\nYep, this can be seen as another collection library like java collection\nframework, but it provides other data structure implementations like\nSplay Tree, AVL Tree, Red-black Tree etc. it includes:\n\n* List: \u003c/p\u003e\n**LinkedList** \u003c/p\u003e\n**ArrayList** \u003c/p\u003e\n**Stack** \u003c/p\u003e\n**Queue**\n\n* Tree: \u003c/p\u003e\n**Basic Tree** \u003c/p\u003e\n**Binary Search Tree** \u003c/p\u003e\n**AVL tree** \u003c/p\u003e\n**Splay Tree** \u003c/p\u003e\n**Red-black tree** \u003c/p\u003e\n**TreeMap** \u003c/p\u003e\n**TreeSet**\u003c/p\u003e\n**HashMap based on Red-black Tree** \u003c/p\u003e\n**BTree** \u003c/p\u003e\n**SkipList** \u003c/p\u003e\n**Treap** \u003c/p\u003e\n**Tries**\n\n* Heap: \u003c/p\u003e\n**Basic Min-Heap** \u003c/p\u003e\n**Leftist Heap** \u003c/p\u003e\n**Skew Heap** \u003c/p\u003e\n**Binomial Heap** \u003c/p\u003e\n**DoubleEndedHeap**\n\n* Hash: \u003c/p\u003e\n**Basic Hash Table by seperate chain** \u003c/p\u003e\n**Hash Table by linear probing, quadratic probing** \u003c/p\u003e\n**Perfect Hash Table** \u003c/p\u003e\n**Cuckoo Hash Table** \u003c/p\u003e\n**Hopscotch Hash Table** \u003c/p\u003e\n**Extensible Hash Table**\n\n* BitMap: \u003c/p\u003e\n**BitMap**\n\n* External memory data structure(they can hold long key and long value): \u003c/p\u003e\n**HashTable**\u003c/p\u003e\n**BPlusTree**\n\n# Features\n\nMost of class provides few but really necessary functions, the benefit about this is that it\ncan make code clean, more readable and more extensible. I also make\ndata structures separate, For example, hashmap could be built on\nred-black tree array and this is what java hashmap does, but it turns\nout java hash map implementation is very very complicated, if you go\ninto java hash map source code since jdk 1.8, then you can get 2390 line\ncodes, and my hash map implementation only has 160 line. This is\nanother reason I built this.\n\n# Documentations\nFor a detailed api documentation, please go to api docs.\n\n# Examples\n\n* [List](https://github.com/xiaobogaga/data-structure/tree/master/src/main/java/io/github/xiaobogaga/list)\n\n* [Tree](https://github.com/xiaobogaga/data-structure/tree/master/src/main/java/io/github/xiaobogaga/tree)\n\n* [Heap](https://github.com/xiaobogaga/data-structure/tree/master/src/main/java/io/github/xiaobogaga/heap)\n\n* [Hash](https://github.com/xiaobogaga/data-structure/tree/master/src/main/java/io/github/xiaobogaga/hash)\n\n* [BitMap](https://github.com/xiaobogaga/data-structure/tree/master/src/main/java/io/github/xiaobogaga/bitmap)\n\n* [External](https://github.com/xiaobogaga/data-structure/tree/master/src/main/java/io/github/xiaobogaga/external)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaobogaga%2Fdata-structure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaobogaga%2Fdata-structure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaobogaga%2Fdata-structure/lists"}