亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? defaultcategorydataset.java

?? jfreechart1.0.1 jsp繪制圖表的開發(fā)包
?? JAVA
字號(hào):
/* ===========================================================
 * JFreeChart : a free chart library for the Java(tm) platform
 * ===========================================================
 *
 * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
 *
 * Project Info:  http://www.jfree.org/jfreechart/index.html
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 of the License, or 
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 *
 * ---------------------------
 * DefaultCategoryDataset.java
 * ---------------------------
 * (C) Copyright 2002-2005, by Object Refinery Limited.
 *
 * Original Author:  David Gilbert (for Object Refinery Limited);
 * Contributor(s):   -;
 *
 * $Id: DefaultCategoryDataset.java,v 1.5.2.2 2005/10/25 21:29:58 mungady Exp $
 *
 * Changes
 * -------
 * 21-Jan-2003 : Added standard header, and renamed DefaultCategoryDataset (DG);
 * 13-Mar-2003 : Inserted DefaultKeyedValues2DDataset into class hierarchy (DG);
 * 06-Oct-2003 : Added incrementValue() method (DG);
 * 05-Apr-2004 : Added clear() method (DG);
 * 18-Aug-2004 : Moved from org.jfree.data --> org.jfree.data.category (DG);
 *
 */

package org.jfree.data.category;

import java.io.Serializable;
import java.util.List;

import org.jfree.data.DefaultKeyedValues2D;
import org.jfree.data.UnknownKeyException;
import org.jfree.data.general.AbstractDataset;
import org.jfree.data.general.DatasetChangeEvent;

/**
 * A default implementation of the {@link CategoryDataset} interface.
 */
public class DefaultCategoryDataset extends AbstractDataset
                                    implements CategoryDataset, Serializable {

    /** For serialization. */
    private static final long serialVersionUID = -8168173757291644622L;
    
    /** A storage structure for the data. */
    private DefaultKeyedValues2D data;

    /**
     * Creates a new (empty) dataset.
     */
    public DefaultCategoryDataset() {
        this.data = new DefaultKeyedValues2D();
    }

    /**
     * Returns the number of rows in the table.
     *
     * @return The row count.
     */
    public int getRowCount() {
        return this.data.getRowCount();
    }

    /**
     * Returns the number of columns in the table.
     *
     * @return The column count.
     */
    public int getColumnCount() {
        return this.data.getColumnCount();
    }

    /**
     * Returns a value from the table.
     *
     * @param row  the row index (zero-based).
     * @param column  the column index (zero-based).
     *
     * @return The value (possibly <code>null</code>).
     */
    public Number getValue(int row, int column) {
        return this.data.getValue(row, column);
    }

    /**
     * Returns a row key.
     *
     * @param row  the row index (zero-based).
     *
     * @return The row key.
     */
    public Comparable getRowKey(int row) {
        return this.data.getRowKey(row);
    }

    /**
     * Returns the row index for a given key.
     *
     * @param key  the row key.
     *
     * @return The row index.
     */
    public int getRowIndex(Comparable key) {
        return this.data.getRowIndex(key);
    }

    /**
     * Returns the row keys.
     *
     * @return The keys.
     */
    public List getRowKeys() {
        return this.data.getRowKeys();
    }

    /**
     * Returns a column key.
     *
     * @param column  the column index (zero-based).
     *
     * @return The column key.
     */
    public Comparable getColumnKey(int column) {
        return this.data.getColumnKey(column);
    }

    /**
     * Returns the column index for a given key.
     *
     * @param key  the column key.
     *
     * @return The column index.
     */
    public int getColumnIndex(Comparable key) {
        return this.data.getColumnIndex(key);
    }

    /**
     * Returns the column keys.
     *
     * @return The keys.
     */
    public List getColumnKeys() {
        return this.data.getColumnKeys();
    }

    /**
     * Returns the value for a pair of keys.
     *
     * @param rowKey  the row key (<code>null</code> not permitted).
     * @param columnKey  the column key (<code>null</code> not permitted).
     *
     * @return The value (possibly <code>null</code>).
     * 
     * @throws UnknownKeyException if either key is not defined in the dataset.
     */
    public Number getValue(Comparable rowKey, Comparable columnKey) {
        return this.data.getValue(rowKey, columnKey);
    }

    /**
     * Adds a value to the table.  Performs the same function as setValue().
     *
     * @param value  the value.
     * @param rowKey  the row key.
     * @param columnKey  the column key.
     */
    public void addValue(Number value, Comparable rowKey, 
                         Comparable columnKey) {
        this.data.addValue(value, rowKey, columnKey);
        fireDatasetChanged();
    }

    /**
     * Adds a value to the table.
     *
     * @param value  the value.
     * @param rowKey  the row key.
     * @param columnKey  the column key.
     */
    public void addValue(double value, Comparable rowKey, 
                         Comparable columnKey) {
        addValue(new Double(value), rowKey, columnKey);
    }

    /**
     * Adds or updates a value in the table and sends a 
     * {@link DatasetChangeEvent} to all registered listeners.
     *
     * @param value  the value (<code>null</code> permitted).
     * @param rowKey  the row key (<code>null</code> not permitted).
     * @param columnKey  the column key (<code>null</code> not permitted).
     */
    public void setValue(Number value, Comparable rowKey, 
                         Comparable columnKey) {
        this.data.setValue(value, rowKey, columnKey);
        fireDatasetChanged();
    }

    /**
     * Adds or updates a value in the table and sends a 
     * {@link DatasetChangeEvent} to all registered listeners.
     *
     * @param value  the value.
     * @param rowKey  the row key (<code>null</code> not permitted).
     * @param columnKey  the column key (<code>null</code> not permitted).
     */
    public void setValue(double value, Comparable rowKey, 
                         Comparable columnKey) {
        setValue(new Double(value), rowKey, columnKey);
    }

    /**
     * Adds the specified value to an existing value in the dataset (if the 
     * existing value is <code>null</code>, it is treated as if it were 0.0).
     * 
     * @param value  the value.
     * @param rowKey  the row key (<code>null</code> not permitted).
     * @param columnKey  the column key (<code>null</code> not permitted).
     * 
     * @throws UnknownKeyException if either key is not defined in the dataset.
     */
    public void incrementValue(double value, 
                               Comparable rowKey, 
                               Comparable columnKey) {
        double existing = 0.0;
        Number n = getValue(rowKey, columnKey);
        if (n != null) {
            existing = n.doubleValue();
        }
        setValue(existing + value, rowKey, columnKey);
    }
    
    /**
     * Removes a value from the dataset.
     *
     * @param rowKey  the row key.
     * @param columnKey  the column key.
     */
    public void removeValue(Comparable rowKey, Comparable columnKey) {
        this.data.removeValue(rowKey, columnKey);
        fireDatasetChanged();
    }

    /**
     * Removes a row from the dataset.
     *
     * @param rowIndex  the row index.
     */
    public void removeRow(int rowIndex) {
        this.data.removeRow(rowIndex);
        fireDatasetChanged();
    }

    /**
     * Removes a row from the dataset.
     *
     * @param rowKey  the row key.
     */
    public void removeRow(Comparable rowKey) {
        this.data.removeRow(rowKey);
        fireDatasetChanged();
    }

    /**
     * Removes a column from the dataset.
     *
     * @param columnIndex  the column index.
     */
    public void removeColumn(int columnIndex) {
        this.data.removeColumn(columnIndex);
        fireDatasetChanged();
    }

    /**
     * Removes a column from the dataset.
     *
     * @param columnKey  the column key.
     */
    public void removeColumn(Comparable columnKey) {
        this.data.removeColumn(columnKey);
        fireDatasetChanged();
    }

    /**
     * Clears all data from the dataset and sends a {@link DatasetChangeEvent} 
     * to all registered listeners.
     */
    public void clear() {
        this.data.clear();
        fireDatasetChanged();
    }
    
    /**
     * Tests if this object is equal to another.
     *
     * @param obj  the other object.
     *
     * @return A boolean.
     */
    public boolean equals(Object obj) {

        if (obj == this) {
            return true;
        }

        if (!(obj instanceof CategoryDataset)) {
            return false;
        }

        CategoryDataset that = (CategoryDataset) obj;
        if (!getRowKeys().equals(that.getRowKeys())) {
            return false;
        }

        if (!getColumnKeys().equals(that.getColumnKeys())) {
            return false;
        }

        int rowCount = getRowCount();
        int colCount = getColumnCount();
        for (int r = 0; r < rowCount; r++) {
            for (int c = 0; c < colCount; c++) {
                Number v1 = getValue(r, c);
                Number v2 = that.getValue(r, c);
                if (v1 == null) {
                    if (v2 != null) {
                        return false;
                    }
                }
                else if (!v1.equals(v2)) {
                    return false;
                }
            }
        }
        return true;
    }

    /**
     * Returns a hash code for the dataset.
     * 
     * @return A hash code.
     */
    public int hashCode() {
        return this.data.hashCode();
    }
    
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产色一区二区| 欧美日韩三级在线| 日韩国产一二三区| 亚洲免费看黄网站| 精品福利二区三区| 日韩欧美一级特黄在线播放| 欧美日本一区二区三区| 91亚洲国产成人精品一区二三 | 在线观看av不卡| 成人国产精品免费网站| 成人动漫中文字幕| 成人小视频免费在线观看| 男男视频亚洲欧美| 老鸭窝一区二区久久精品| 日韩经典中文字幕一区| 水野朝阳av一区二区三区| 午夜精品久久久| 狠狠久久亚洲欧美| 99久久久久久99| 91福利视频网站| 欧美日免费三级在线| 日韩一区二区在线看| 精品国产一二三| 亚洲天堂成人在线观看| 亚洲永久精品大片| 一区二区成人在线视频| 性久久久久久久久久久久| 激情综合色播激情啊| 91福利在线观看| 欧美va亚洲va国产综合| 日韩精品中文字幕在线不卡尤物 | 欧美性受极品xxxx喷水| 91麻豆精品国产91久久久更新时间 | 韩国女主播一区| 91老师片黄在线观看| 精品视频123区在线观看| 中文字幕日韩av资源站| 亚洲最快最全在线视频| 激情综合网最新| 欧美日韩高清一区二区| 国产精品久久毛片av大全日韩| 亚洲mv在线观看| 欧美三级日韩三级| 亚洲欧洲一区二区在线播放| 免费高清在线视频一区·| 91福利精品视频| 亚洲欧美色综合| a亚洲天堂av| 中文字幕av一区二区三区| 一区二区三区**美女毛片| 日韩欧美一级片| 国产精品免费丝袜| 国产精品99精品久久免费| 日韩欧美不卡一区| 麻豆精品视频在线| 日韩免费电影一区| 国产一区二区三区四区五区入口| 99久久精品国产网站| 欧美激情中文不卡| 国产精品1区2区3区在线观看| 欧美大肚乱孕交hd孕妇| 日日摸夜夜添夜夜添国产精品| 色婷婷亚洲综合| 亚洲欧美日韩小说| 欧美日韩一区二区三区视频| 日韩精品一二三四| 制服丝袜中文字幕一区| 国产在线精品一区二区不卡了| 欧美高清在线精品一区| 色天天综合久久久久综合片| 亚洲男女毛片无遮挡| 亚洲欧美一区二区三区极速播放| 国产一区二区三区精品视频| 欧美日韩视频在线第一区| 国产亚洲精品bt天堂精选| 国产麻豆视频一区二区| 亚洲成a人片综合在线| 国产婷婷色一区二区三区在线| 91麻豆免费观看| 日韩高清电影一区| 亚洲自拍另类综合| 日韩一区二区视频| www.av亚洲| 日韩精品电影一区亚洲| 欧美精品一区二区三| 成人免费黄色大片| 一区二区三区.www| 欧美变态凌虐bdsm| 欧美色爱综合网| av电影在线观看一区| 日本91福利区| 中文字幕日韩av资源站| 精品国产乱码久久久久久免费| 色婷婷香蕉在线一区二区| 裸体歌舞表演一区二区| 亚洲精品免费一二三区| 日韩欧美亚洲国产精品字幕久久久| 成人少妇影院yyyy| 亚洲精品国产a久久久久久| 日韩欧美国产午夜精品| 91在线一区二区| 国产宾馆实践打屁股91| 日韩成人免费在线| 亚洲欧美另类图片小说| 国产女主播视频一区二区| 日韩欧美中文字幕精品| 欧美日韩一区二区三区高清| 在线精品视频小说1| 欧美色老头old∨ideo| 精品视频色一区| 9191成人精品久久| 日韩欧美黄色影院| 国产亚洲福利社区一区| 久久久天堂av| 欧美mv日韩mv| 2024国产精品| 国产亚洲欧洲一区高清在线观看| 日韩免费视频线观看| 精品久久久久久久久久久久久久久久久 | 亚洲精品视频在线观看网站| 亚洲欧洲国产日本综合| 国产精品高潮久久久久无| 国产精品网站导航| 伊人夜夜躁av伊人久久| 亚洲成人午夜电影| 麻豆精品在线看| 国产一区二区成人久久免费影院| 韩国精品久久久| 99精品久久久久久| 欧美日韩大陆一区二区| 精品国产乱码久久久久久1区2区| 久久综合五月天婷婷伊人| 中文字幕成人av| 亚洲国产cao| 黄网站免费久久| 91免费观看在线| 日韩精品一区二区三区视频播放 | 国产日产欧美一区| 一区二区三区精品在线| 老司机午夜精品| 91小视频免费观看| 精品久久久久一区二区国产| 亚洲精品大片www| 久久精品噜噜噜成人88aⅴ| 成人白浆超碰人人人人| 欧美一区二区精品在线| 国产精品白丝在线| 美女视频一区二区| 91福利在线导航| 国产精品色在线观看| 美女mm1313爽爽久久久蜜臀| 91污在线观看| 国产精品久久夜| 国产一区二区久久| 91精品久久久久久久91蜜桃 | 国产喂奶挤奶一区二区三区| 爽爽淫人综合网网站 | 成人动漫视频在线| 久久婷婷久久一区二区三区| 亚欧色一区w666天堂| 91美女在线看| 国产精品的网站| 国产成人高清视频| 久久综合九色综合欧美就去吻| 蜜桃视频在线观看一区| 日韩午夜中文字幕| 免费观看一级欧美片| 91麻豆精品91久久久久久清纯 | 欧美极品少妇xxxxⅹ高跟鞋| 捆绑紧缚一区二区三区视频| 欧美日韩日本视频| 亚洲高清不卡在线| 欧美精品九九99久久| 天天影视涩香欲综合网| 在线电影一区二区三区| 日韩中文字幕不卡| 日韩午夜电影av| 国产一区视频导航| 中文字幕精品在线不卡| av电影在线观看完整版一区二区| 亚洲同性gay激情无套| 精品视频免费在线| 久久国产精品99精品国产| 久久久久久久免费视频了| av资源网一区| 日韩高清国产一区在线| 久久综合资源网| 91丝袜美女网| 免费看欧美美女黄的网站| 国产精品女主播av| 91精品国产乱码久久蜜臀| 国产乱人伦精品一区二区在线观看| 中文字幕久久午夜不卡| 欧美色电影在线| 成人妖精视频yjsp地址| 日韩精品五月天| ●精品国产综合乱码久久久久| 欧美乱妇20p| 成人黄色国产精品网站大全在线免费观看 | 成人午夜视频网站|