Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 185813
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T15:32:13+00:00 2026-05-11T15:32:13+00:00

I want to represent threaded comments in Java. This would look similar to the

  • 0

I want to represent threaded comments in Java. This would look similar to the way comments are threaded on reddit.com

hello    hello       hello       hello    hello    hello       hello 

As in the example above, responses are nested in the HTML with appropriate indentation to reflect their relationship to prior comments.

What would be an efficient way to represent this in Java?

I’m thinking some kind of tree data structure would be appropriate.

But is there one in particular which would be most efficient to minimize tree traversals?

This would be important if I have voting on each comment. Because then the tree would need to be reordered after each vote – a potentially expensive operation computationally.

By the way, if anyone knows of an open source existing implementation of this in Java, that would help too.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T15:32:14+00:00Added an answer on May 11, 2026 at 3:32 pm

    I would use levels of linked lists.

    message1     message2         message3         message4     message5     message6         message7 

    Each node would have a pointer to its:

    - forward sibling  (2->5, 3->4, 5->6,                   1/4/6/7->NULL). - backward sibling (4->3, 5->2, 6->5,                   1/2/3/7->NULL). - first child      (1->2, 2->3, 6->7,                   3/4/5/7->NULL). - parent           (2->1, 3->2, 4->2, 5->1, 6->1, 7->6,       1->NULL). 

    Within each level, messages would be sorted in the list by vote count (or whatever other score you wanted to use).

    That would give you maximum flexibility for moving things around and you could move whole sub-trees (e.g., message2) just by changing the links at the parent and that level.

    For example, say message6 gets a influx of votes that makes it more popular than message5. The changes are (adjusting both the next and previous sibling pointers):

    • message2 -> message6
    • message6 -> message5
    • message5 -> NULL.

    to get:

    message1     message2         message3         message4     message6         message7     message5 

    If it continues until it garners more votes than message2, the following occurs:

    • message6 -> message2
    • message2 -> message5

    AND the first-child pointer of message1 is set to message6 (it was message2), still relatively easy, to get:

    message1     message6         message7     message2         message3         message4     message5 

    Re-ordering only needs to occur when a score change results in a message becoming more than its upper sibling or less than its lower sibling. You don’t need to re-order after every score change.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 118k
  • Answers 118k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer I think you could use something like: SELECT * FROM… May 11, 2026 at 11:39 pm
  • Editorial Team
    Editorial Team added an answer Once constructed, a UIBarButtonItem's "Identifier" can not be modified. However,… May 11, 2026 at 11:39 pm
  • Editorial Team
    Editorial Team added an answer The reason why, is that is a Mozilla specific (i.e.… May 11, 2026 at 11:39 pm

Related Questions

Let's say I want to represent \q (or any other particular backslash-escaped character). That
I'm rolling my own logger class, and want to represent the heirarchy of logs
I want to write a raw byte/byte stream to a position in a file.
I want to use a GA to determine the optimal path from A to

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.