Example usage for java.util PriorityQueue toArray

List of usage examples for java.util PriorityQueue toArray

Introduction

In this page you can find the example usage for java.util PriorityQueue toArray.

Prototype

public <T> T[] toArray(T[] a) 

Source Link

Document

Returns an array containing all of the elements in this queue; the runtime type of the returned array is that of the specified array.

Usage

From source file:Main.java

public static void main(String args[]) {

    PriorityQueue<Integer> prq = new PriorityQueue<Integer>();

    // insert values in the queue
    prq.add(1);// w w w  . ja  va2s  . c o  m
    prq.add(2);
    prq.add(1);
    prq.add(64);
    prq.add(1);

    System.out.println(prq);

    // create arr1
    Integer[] arr1 = new Integer[5];

    // use toArrsy() method
    Integer[] arr2 = prq.toArray(arr1);

    for (int i = 0; i < arr1.length; i++) {
        System.out.println(arr1[i]);
    }

    for (int i = 0; i < arr2.length; i++) {
        System.out.println(arr2[i]);
    }
}

From source file:com.net2plan.gui.utils.onlineSimulationPane.OnlineSimulationPane.java

/**
 * Shows the future event list./*  www .j a v a 2  s  . c  o m*/
 *
 * @since 0.3.0
 */
public void viewFutureEventList() {
    final JDialog dialog = new JDialog();
    dialog.setTitle("Future event list");
    SwingUtils.configureCloseDialogOnEscape(dialog);
    dialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);
    dialog.setSize(new Dimension(500, 300));
    dialog.setLocationRelativeTo(null);
    dialog.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
    dialog.setLayout(new MigLayout("fill, insets 0 0 0 0"));

    final String[] tableHeader = StringUtils.arrayOf("Id", "Time", "Priority", "Type", "To module",
            "Custom object");
    Object[][] data = new Object[1][tableHeader.length];

    DefaultTableModel model = new ClassAwareTableModel();
    model.setDataVector(new Object[1][tableHeader.length], tableHeader);

    JTable table = new AdvancedJTable(model);
    RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
    table.setRowSorter(sorter);
    JScrollPane scrollPane = new JScrollPane(table);
    dialog.add(scrollPane, "grow");

    PriorityQueue<SimEvent> futureEventList = simKernel.getSimCore().getFutureEventList().getPendingEvents();
    if (!futureEventList.isEmpty()) {
        int numEvents = futureEventList.size();
        SimEvent[] futureEventList_array = futureEventList.toArray(new SimEvent[numEvents]);
        Arrays.sort(futureEventList_array, futureEventList.comparator());
        data = new Object[numEvents][tableHeader.length];

        for (int eventId = 0; eventId < numEvents; eventId++) {
            //            List<SimAction> actions = futureEventList_array[eventId].getEventActionList();
            Object customObject = futureEventList_array[eventId].getEventObject();
            data[eventId][0] = eventId;
            data[eventId][1] = StringUtils
                    .secondsToYearsDaysHoursMinutesSeconds(futureEventList_array[eventId].getEventTime());
            data[eventId][2] = futureEventList_array[eventId].getEventPriority();
            data[eventId][3] = futureEventList_array[eventId].getEventType();
            data[eventId][4] = futureEventList_array[eventId].getEventDestinationModule().toString();
            data[eventId][5] = customObject == null ? "none" : customObject;
        }
    }

    model.setDataVector(data, tableHeader);
    table.getTableHeader().addMouseListener(new ColumnFitAdapter());
    table.setDefaultRenderer(Double.class, new CellRenderers.NumberCellRenderer());

    dialog.setVisible(true);
}

From source file:org.apache.hadoop.hdfs.server.namenode.FSEditLogTestUtil.java

/**
 * Find out how many transactions we can read from a
 * FileJournalManager, starting at a given transaction ID.
 *
 * @param jm              The journal manager
 * @param fromTxId        Transaction ID to start at
 * @param inProgressOk    Should we consider edit logs that are not finalized?
 * @return                The number of transactions
 * @throws IOException/* w  w w .j av a 2s .c  o m*/
 */
public static long getNumberOfTransactions(JournalManager jm, long fromTxId, boolean inProgressOk,
        boolean abortOnGap) throws IOException {
    long numTransactions = 0, txId = fromTxId;
    final PriorityQueue<EditLogInputStream> allStreams = new PriorityQueue<EditLogInputStream>(64,
            JournalSet.EDIT_LOG_INPUT_STREAM_COMPARATOR);
    jm.selectInputStreams(allStreams, fromTxId, inProgressOk, true);
    EditLogInputStream elis = null;
    try {
        while ((elis = allStreams.poll()) != null) {
            elis.skipUntil(txId);
            while (true) {
                FSEditLogOp op = elis.readOp();
                if (op == null) {
                    break;
                }
                if (abortOnGap && (op.getTransactionId() != txId)) {
                    TestFileJournalManager.LOG
                            .info("getNumberOfTransactions: detected gap at txId " + fromTxId);
                    return numTransactions;
                }
                txId = op.getTransactionId() + 1;
                numTransactions++;
            }
        }
    } finally {
        IOUtils.cleanup(FSEditLogTestUtil.LOG, allStreams.toArray(new EditLogInputStream[0]));
        IOUtils.cleanup(FSEditLogTestUtil.LOG, elis);
    }
    return numTransactions;
}

From source file:org.apache.hadoop.hdfs.server.namenode.FSEditLogTestUtil.java

public static EditLogInputStream getJournalInputStream(JournalManager jm, long txId, boolean inProgressOk)
        throws IOException {
    final PriorityQueue<EditLogInputStream> allStreams = new PriorityQueue<EditLogInputStream>(64,
            JournalSet.EDIT_LOG_INPUT_STREAM_COMPARATOR);
    jm.selectInputStreams(allStreams, txId, inProgressOk, true);
    EditLogInputStream elis = null, ret;
    try {/*  ww w  .  ja v a  2 s.  co m*/
        while ((elis = allStreams.poll()) != null) {
            if (elis.getFirstTxId() > txId) {
                break;
            }
            if (elis.getLastTxId() < txId) {
                elis.close();
                continue;
            }
            elis.skipUntil(txId);
            ret = elis;
            elis = null;
            return ret;
        }
    } finally {
        IOUtils.cleanup(FSEditLogTestUtil.LOG, allStreams.toArray(new EditLogInputStream[0]));
        IOUtils.cleanup(FSEditLogTestUtil.LOG, elis);
    }
    return null;
}

From source file:org.apache.hadoop.hdfs.server.namenode.TestFileJournalManager.java

/**
 * Find out how many transactions we can read from a
 * FileJournalManager, starting at a given transaction ID.
 * //from w  w  w . jav  a 2  s  .  c o  m
 * @param jm              The journal manager
 * @param fromTxId        Transaction ID to start at
 * @param inProgressOk    Should we consider edit logs that are not finalized?
 * @return                The number of transactions
 * @throws IOException
 */
static long getNumberOfTransactions(FileJournalManager jm, long fromTxId, boolean inProgressOk,
        boolean abortOnGap) throws IOException {
    long numTransactions = 0, txId = fromTxId;
    final PriorityQueue<EditLogInputStream> allStreams = new PriorityQueue<EditLogInputStream>(64,
            JournalSet.EDIT_LOG_INPUT_STREAM_COMPARATOR);
    jm.selectInputStreams(allStreams, fromTxId, inProgressOk);
    EditLogInputStream elis = null;
    try {
        while ((elis = allStreams.poll()) != null) {
            try {
                elis.skipUntil(txId);
                while (true) {
                    FSEditLogOp op = elis.readOp();
                    if (op == null) {
                        break;
                    }
                    if (abortOnGap && (op.getTransactionId() != txId)) {
                        LOG.info("getNumberOfTransactions: detected gap at txId " + fromTxId);
                        return numTransactions;
                    }
                    txId = op.getTransactionId() + 1;
                    numTransactions++;
                }
            } finally {
                IOUtils.cleanup(LOG, elis);
            }
        }
    } finally {
        IOUtils.cleanup(LOG, allStreams.toArray(new EditLogInputStream[0]));
    }
    return numTransactions;
}

From source file:org.apache.hadoop.hdfs.server.namenode.TestFileJournalManager.java

private static EditLogInputStream getJournalInputStream(JournalManager jm, long txId, boolean inProgressOk)
        throws IOException {
    final PriorityQueue<EditLogInputStream> allStreams = new PriorityQueue<EditLogInputStream>(64,
            JournalSet.EDIT_LOG_INPUT_STREAM_COMPARATOR);
    jm.selectInputStreams(allStreams, txId, inProgressOk);
    EditLogInputStream elis = null, ret;
    try {//from   w ww .  j  a v  a2s.  c om
        while ((elis = allStreams.poll()) != null) {
            if (elis.getFirstTxId() > txId) {
                break;
            }
            if (elis.getLastTxId() < txId) {
                elis.close();
                continue;
            }
            elis.skipUntil(txId);
            ret = elis;
            elis = null;
            return ret;
        }
    } finally {
        IOUtils.cleanup(LOG, allStreams.toArray(new EditLogInputStream[0]));
        IOUtils.cleanup(LOG, elis);
    }
    return null;
}