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

  • Home
  • SEARCH
  • 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 7443379
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T11:19:16+00:00 2026-05-29T11:19:16+00:00

I have a Set object and I use this set to ensure that when

  • 0

I have a Set object and I use this set to ensure that when I add an element to it that already exists in the set, it’s not added. This is the easy part, just use Set.add(); But after this is done I need the reference to the object in the Set.

What I essentially mean is having a .add() that doesn’t return a boolean, but the actual object you tried to add (if it wasn’t added, the one in the set). Is there already a Set implementation that does this, or do I have to write my own?

At the moment I used a Set.add() and if it returns false I use an iterator to look for the one in the set. Although this works, I find it ugly. Especially when using the HashSet implementation which should be able to find the object a lot faster using hashcodes. Any ideas?

EDIT: Wow, lots of answers in a relatively short time, thanks. Ok, so what I’m trying to do is create a certain datastructure that loads data from some place and creates objects from it. This data might contain duplicates, and this wouldn’t be a problem if I used a set and just needed this one set, but the datastructure needs to add references to these unique objects to other objects in the datastructure, therefore I need the references to the (unique) objects in the set. Also, I can’t just not load the data that is already contained in the set, because there is more (unique) data linked to it, which is also added, together with a reference to that data that was already contained in the set. For illustration purposes (because the above explanation is far from clear) I’ll give an example here:

Data:

foo     bar
1       3
1       4
2       5

Datastructure:

Set<Foo> totalFooSet  
Set<Bar> totalBarSet

Foo:

sometype data
Set<Bar> barSet  

Bar:

sometype data
Set<Foo> fooSet

This is sort of like a many-to-many relation.

I’m not sure if there is some major design flaw here, I’ve looked it over with some other people and we can’t figure out how to do this differently. I like the idea of using the HashMap, so I’ll create a subclass and add an addAndReturn() function to it.

  • 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. Editorial Team
    Editorial Team
    2026-05-29T11:19:17+00:00Added an answer on May 29, 2026 at 11:19 am

    Similar to Sean’s answer (which I upvoted), but possibly more reusable.

    public class HashMapBackedSet<T> extends HashMap<T,T>{
        public T add( T toAdd ){
            T existing = get( toAdd );
            if( existing != null ){
                return existing;
            }
            put( toAdd, toAdd );
            return toAdd;
        }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a asp:menu object which I set up to use a SiteMapDataSource but
I have an object that is mapped to have a set of objects, very
I have an object which has several properties that are set when the object
Suppose I have a UserControl whose DataContext is set to an object that has
I have a Rect object that I'd like to create and set its properties
I have been getting an error in VB .Net object reference not set to
I am having a problem accessing the ViewData object through javascript. I have set
I have a custom security principal object which I set in the global.asax for
I have a course object. The course object has a set of tutorials and
I have an on object like so var obj = {}; function set() {

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.