Re: BitSet Class Implementation
- From: "Erick Crouse" <crouse@xxxxxxxxxxxxxx>
- Date: 19 Nov 2006 19:41:09 -0800
Thanks Daniel.
Daniel Pitts wrote:
Erick Crouse wrote:
Hello Everyone,
I need a question answered concerning the BitSet class. The problem is
that the public methods which manipulate a set of bits requires a
BitSet object as both the caller and argument to the method...
private BitSet A = new BitSet(16),
private BitSet B = new BitSet(16),
// do some manipulations with BitSet... and then...
A.and(B); // Results in a different A (B is unchanged)
A.xor(B); // Again results in a different A (B is unchanged)
// Interface: public void and( BitSet bits) -
BitSet;
The problem with this is that I prefer both A and B BitSet objects
remain the same while resulting in a new BitSet object say C using an
interface similar to -> public BitSet and( BitSet A, BitSet B) -
BitSet. With the current implementation of BitSet I would need to do
some sort of clone implementation (which seems like overkill) or
instantiate two identical A objects, say A1 and A2, one of which gets
operated on and then the other remains original for other purposes (
which seems a little awkward having to instantiate identical objects ),
Can anyone suggest what they would do in this situation where the
implementation operates either operand?
Thanks a Million,
EVAC
BitSet does have a clone. There wouldn't be any way to compute a.and(b)
without either mutating a, or cloning a and then mutating the clone.
If its that important to your design, I would create a wrapper class
called ImmutableBitSet which will handle the cloning of new bitsets for
you.
.
- Follow-Ups:
- Re: BitSet Class Implementation
- From: Daniel Pitts
- Re: BitSet Class Implementation
- References:
- BitSet Class Implementation
- From: Erick Crouse
- Re: BitSet Class Implementation
- From: Daniel Pitts
- BitSet Class Implementation
- Prev by Date: Re: Giving an application a window icon in a sensible way
- Next by Date: Re: Giving an application a window icon in a sensible way
- Previous by thread: Re: BitSet Class Implementation
- Next by thread: Re: BitSet Class Implementation
- Index(es):
Relevant Pages
|