1. 程式人生 > 其它 >點陣圖的簡單操作

點陣圖的簡單操作

class BitMap {
        private byte[] words;//用一個位元組陣列來儲存
        private int capacity;//點陣圖的長度

        public BitMap(int capacity) {
            this.capacity = capacity;
            words = new byte[((capacity - 1) >> 3) + 1];
        }

        /**
         * @Title: setBit 
         * @Description: 
         * 
@param num */ public void setBit(int num) { if (num < 0 || num > capacity) { return; } int index = num >> 3; int position = num & 0x7; words[index] |= (1 << position); } /**
* * @Title: contains * @Description: 判斷某個數是否存在 * @param num * @return */ public boolean contains(int num) { if (num < 0 || num > capacity) { return false; } int index = num >> 3;
int position = num & 0x7; return (words[index] & (1 << position)) != 0; } /** * * @Title: clear * @Description: 清除某個值 * @param num */ public void clear(int num) { if (num < 0 || num > capacity) { return; } int index = num >> 3; int position = num & 0x7; words[index] &= ~(1 << position); } }