I have a file with lines like
barcode date action
for example
IP720H7 20130527192802 in the box
and starting from the end of the file, i want to search for the previous line that contains exact the same barcode, and take its date and action.
i will give the example below
FILE
IP720H4 20130528131526 in refrigerator
IP720H4 20130528130526 in refrigerator
IP720H2 20130528130547 in refrigerator
20IB7 20130528130528 box
IP720H4 20130528130530 in the box
WANTED OUTPUT
IP720H4 20130528130530 in the box FOUND LAST IP720H4 20130528130526 in refrigerator
20IB7 20130528130528 box NOT FOUND
IP720H2 20130528130547 in refrigerator NOT FOUND
IP720H4 20130528130526 in refrigerator FOUND LAST IP720H4 20130528131526 in refrigerator
IP720H4 20130528131526 in refrigerator NOT FOUND
I tried stack in order to start searching from the end of the file, but after some pop() stack gets empty.
while(!lifo.empty())
{
String[] next_line = lifo.pop().toString().split(" ");
//This is the abrcode of the next line
String next_barcode = next_line[0].toString();
//barcode is the one i am trying to find (last of the file)
if (next_barcode.equals(barcode))
{
System.out.println(nnext_barcode + " found");
break;
}
else
{
//NOT FOUND
}
}
But as i said this is not the correct approach, cause the stack gets empty. I want to search line by line but the STRUCTURE should get empty, in order to continue with other lines (last, second last, etc).
What can i do?