As I kept in mind tips that you guys gave me plus few tips from another post on SO as fgb suggested, I came up with this.
Rather than count cards once when I need to I rather count cards as they come within inserting method of my Hand class.
This let me to count cards and decide whether to use 1 or 11 as Ace.
public void insert(Card card)
{
Link newLink = new Link(card);
newLink.next = first;
if (card.rank == 1 && cardTotal + card.getValue() > 21)
cardTotal = cardTotal + (card.getValue() - 10);
else
cardTotal = cardTotal + card.getValue();
first = newLink;
}
The question is that if I should player decide when to use 1 or 11, but I'll worry about that later.
Thanks for help.