I have the following class:
class A {
String s;
}
And the following list of lists of class A objects:
[{1s, 3f, 46h}, {333s, 67b, 1d, 67m, 67h}, {3a, 3x}, {34n, 22o, 34s},
{40f, 22x, 4m}... and so on]
All I need is to iterate through this list, get the results and push into another output arrayList. Now what would be included in the result arrayList:
1. Just skip those elements from the above input arrayList
which have more than one String with same prefix(only the last character
is the suffix here which will always be a single character alphabet; not digit).
For example: from the above input arrayList the first element({1s, 3f, 46h})
won't be skipped and will be pushed into the output arrayList
as it doesn't have any String with the same prefix; as 1, 3 and 46 are different.
But 2nd, 3rd and 4th elements will be skipped as they have matches
(three prefixes with same 67 in 2nd element, two prefixes with same 3 in 3rd element
and two prefixes with same 34 in 4th element).
So, for the above input arrayList the output arrayList will be:
[{1s, 3f, 46h}, {40f, 22x, 4m}]
Can anybody suggest me how can I do the above job in an easy and efficient way. Please give
some sample code if possible.
Thanks!
So if I were writing tests for this, I would see that one of the things I need is to be able to determine the prefix. Given an A with string “55p”, the prefix should be “55”. Write a test for that. Where does the prefix method belong? Probably in the A class itself. It should look something like:
Once you have that method, it’s easy to iterate over all the A’s in a list and determine if any of them have the same prefix.