search siblings of value in java

www.lau‮c.irutt‬om
search siblings of value in java
/**
 * @author lautturi.com 
 * Java example: java siblings search
 */

import java.util.*;
import java.util.stream.IntStream;

public class Lautturi {
	public static int[] getSiblings(int[] arr, int x) {
		int pos = 0;
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] == x)
				pos = i + 1;
		}
		int start = Integer.highestOneBit(pos);
		int end = start * 2 - 1 >= arr.length ? arr.length : start * 2 - 1;
		return IntStream.range(start - 1, end).map(i -> arr[i]).filter(v -> v != x).toArray();
	}

	public static void main(String[] args) {
		int[] numbers = { 11, 4, 2, 7, 55, 16, 12, 8, 13, 38 };

		int[] arrSibling = getSiblings(numbers, 16);
		System.out.println(Arrays.toString(arrSibling));

	}
}

output:

[7, 55, 12]
Created Time:2017-10-09 00:01:41  Author:lautturi