It's a little unclear what exactly you're looking to do here but I'm assuming as it's sudoku you're only interested in storing numbers 1-9? 
If so to test for a duplicate you could iterate through the source array and use a second array (with 9 elements - I've called it flag) to hold a flag showing whether each number has been used or not.
So.. something like:
for (loop=0;loop<size;loop++) {
    if (flag[streamNum[loop]]==true) {
        //duplicate - do something & break this loop
        break;
    }
    else {
       flag[streamNum[loop]=true;
    }
}
Here's how I'd test against Sudoku rules - it checks horizontal, vertical and 3x3 block using the idea above but here 3 different flag arrays for the 3 rules.  This assumes your standard grid is held in an 81-element array.  You can easily adapt this to cater for partially-completed grids..
for (loop=0;loop<9;loop++) {
    flagH=[];
    flagV=[];
    flagS=[];
    for (loop2=0;loop2<9;loop2++) {
        //horizontal
        if(flagH[streamNum[(loop*9)+loop2]]==true) {
           duplicate
        else {
           flagH[streamNum[(loop*9)+loop2]]=true);
        }
        //column test
        if(flagV[streamNum[loop+(loop2*9)]]==true) {
        ..same idea as above
        //3x3 sub section test
        basecell = (loop%3)*3+Math.floor(loop/3)*27; //topleft corner of 3x3 square
        cell = basecell+(loop2%3+(Math.floor(loop2/3)*9));
        if(flagS[streamNum[cell]]==true) {
        ..same idea as before..
   }
}