当前位置: 首页>>代码示例>>Java>>正文


Java Arrays.sort方法代码示例

本文整理汇总了Java中com.sun.squawk.util.Arrays.sort方法的典型用法代码示例。如果您正苦于以下问题:Java Arrays.sort方法的具体用法?Java Arrays.sort怎么用?Java Arrays.sort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.squawk.util.Arrays的用法示例。


在下文中一共展示了Arrays.sort方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: strip

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
/**
 * Creates a stripped copy of an array of MethodMetadata. The value of <code>metadatas</code>
 * is not modified. The line number tables are stripped if {@link #preserveLineNumberTables}
 * has not been called. The local variable tables are stripped if {@link #preserveLineNumberTables}
 * has not been called.
 *
 * @param metadatas  the array to create a stripped copy of
 * @return the stripped copy of <code>metadatas</code>
 */
static MethodMetadata[] strip(MethodMetadata[] metadatas) {
    if (metadatas != null) {
        if (preserveLineNumberTables || preserveLocalVariableTables) {
            SquawkVector temp = new SquawkVector(metadatas.length);
            for (int i = 0; i != metadatas.length; ++i) {
                MethodMetadata md = metadatas[i];
                if (md != null) {
                    temp.addElement(md.strip(preserveLineNumberTables, preserveLocalVariableTables));
                }
            }
            if (temp.size() == 0) {
                return null;
            }
            
            MethodMetadata[] result = new MethodMetadata[temp.size()];
            temp.copyInto(result);
            Arrays.sort(result, new MethodMetadataComparer());
            return result;
        }
    }
    return null;
}
 
开发者ID:tomatsu,项目名称:squawk,代码行数:32,代码来源:MethodMetadata.java

示例2: installProperty

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
/**
	 * Installs a collection of IMlet property values into this suite.
	 *
	 * @param property IMlet property to install
	 */
	public void installProperty(ManifestProperty property) {
		checkWrite();
        // There could be more than one manifest property for a given key,
        // as is the case if JAD properties are added, so take this into account
        int index = Arrays.binarySearch(manifestProperties, property.name, ManifestProperty.comparer);
        if (index < 0) {
/*if[ENABLE_VERBOSE]*/	    	    
            if (VM.isVerbose()) {
                System.out.println("[Adding property key: |" + property.name + "| value: |" + property.value + "|]");
            }
/*end[ENABLE_VERBOSE]*/	    	    
            System.arraycopy(manifestProperties, 0, manifestProperties = new ManifestProperty[manifestProperties.length + 1], 0, manifestProperties.length - 1);
            manifestProperties[manifestProperties.length - 1] = property;
            Arrays.sort(manifestProperties, ManifestProperty.comparer);
        } else {
/*if[ENABLE_VERBOSE]*/	    	    
            if (VM.isVerbose()) {
                System.out.println("[Overwriting property key: |" + property.name + "| value: |" + property.value + "|]");
            }
/*end[ENABLE_VERBOSE]*/	    	    
            manifestProperties[index] = property;
        }
	}
 
开发者ID:tomatsu,项目名称:squawk,代码行数:29,代码来源:Suite.java

示例3: sortFields

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
/**
 * Sorts an array of fields by the data size of their types in
 * descending order.
 *
 * @param fields  the array of fields to sort
 */
private void sortFields(ClassFileField[] fields) {
    Arrays.sort(fields, new Comparer() {
        public int compare(Object o1, Object o2) {
            if (o1 == o2) {
                return 0;
            }

            Klass t1 = ((ClassFileField)o1).getType();
            Klass t2 = ((ClassFileField)o2).getType();

            /*
             * Sort by data size of field's type
             */
            if (t1.getDataSize() < t2.getDataSize()) {
                return 1;
            } else if (t1.getDataSize() > t2.getDataSize()) {
                return -1;
            } else {
                return 0;
            }
        }
    });
}
 
开发者ID:tomatsu,项目名称:squawk,代码行数:30,代码来源:ClassFileLoader.java

示例4: init

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
protected final void init(INorFlashSectorState[] sectorStates) {
    Arrays.sort(sectorStates, new Comparer() {
        public int compare(Object a, Object b) {
            Address aStart = ((INorFlashSectorState) a).getStartAddress();
            Address bStart = ((INorFlashSectorState) b).getStartAddress();
            if (aStart.eq(bStart)) {
                return 0;
            }
            if (aStart.lo(bStart)) {
                return -1;
            }
            return +1;
        }
    });
    this.sectorStates = sectorStates;
    erasedSequenceCurrentValue = 0;
}
 
开发者ID:tomatsu,项目名称:squawk,代码行数:18,代码来源:NorFlashMemoryHeap.java

示例5: installProperty

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
/**
 * Installs a collection of IMlet property values into this suite.
 *
 * @param property IMlet property to install
 */
public void installProperty(ManifestProperty property) {
	checkWrite();
       // There could be more than one manifest property for a given key,
       // as is the case if JAD properties are added, so take this into account
       int index = Arrays.binarySearch(manifestProperties, property.name, ManifestProperty.comparer);
       if (index < 0) {
           if (VM.isVerbose()) {
               System.out.println("[Adding property key: |" + property.name + "| value: |" + property.value + "|]");
           }
           System.arraycopy(manifestProperties, 0, manifestProperties = new ManifestProperty[manifestProperties.length + 1], 0, manifestProperties.length - 1);
           manifestProperties[manifestProperties.length - 1] = property;
           Arrays.sort(manifestProperties, ManifestProperty.comparer);
       } else {
           if (VM.isVerbose()) {
               System.out.println("[Overwriting property key: |" + property.name + "| value: |" + property.value + "|]");
           }
           manifestProperties[index] = property;
       }
}
 
开发者ID:sics-sse,项目名称:moped,代码行数:25,代码来源:Suite.java

示例6: getConstantObjectArray

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
/**
 * Gets the object table as an array of objects that have been sorted by frequency of access.
 *
 * @return the sorted object array
 */
Object[] getConstantObjectArray() {
    Object[] list = new Object[objectTable.size()];
    Enumeration e = objectTable.elements();
    for (int i = 0 ; i < list.length ; i++) {
        list[i] = e.nextElement();
    }
    Arrays.sort(list, new Comparer() {
        public int compare(Object o1, Object o2) {
            if (o1 == o2) {
                return 0;
            }
            ObjectCounter t1 = (ObjectCounter)o1;
            ObjectCounter t2 = (ObjectCounter)o2;
            if (t1.getIndex() < t2.getIndex()) {
                return -1;
            } else if (t1.getIndex() > t2.getIndex()) {
                return 1;
            } else {
                return 0;
            }
        }
    });

    for (int i = 0 ; i < list.length ; i++) {
        ObjectCounter oc = ((ObjectCounter) list[i]);
        list[i] = oc.getObject();
    }
    return list;
}
 
开发者ID:tomatsu,项目名称:squawk,代码行数:35,代码来源:ObjectTable.java

示例7: sortPositions

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
/**
 * Gets the bytecode positions in a sorted array.
 *
 * @return the bytecode positions in a sorted array
 */
private Position[] sortPositions() {
    Assert.that(positions != null);
    Position[] sorted = new Position[positions.size()];
    Enumeration e = positions.elements();
    for (int i = 0; i != sorted.length; ++i) {
        sorted[i] = (Position)e.nextElement();
    }
    Arrays.sort(sorted, new Comparer() {
        public int compare(Object o1, Object o2) {
            return ((Position)o1).getBytecodeOffset() - ((Position)o2).getBytecodeOffset();
        }
    });
    return sorted;
}
 
开发者ID:tomatsu,项目名称:squawk,代码行数:20,代码来源:CodeParser.java

示例8: scanBlocks

import com.sun.squawk.util.Arrays; //导入方法依赖的package包/类
/**
 * Scan through allocated blocks in all sectors in this MemoryHeap. 
 * Update toBeErasedSectorStateList, inUseSectorStateList, and currentSectorState. Also update the writeHeadPosition for each sector state.
 *    
 * It is guaranteed that the order that blocks were allocated in, is the order in which they will be iterated.
 * 
 * @param scanner operation to perform on each block. May be null.
 * @throws RecordStoreException
 */
public synchronized void scanBlocks(INorFlashMemoryHeapScanner scanner) throws RecordStoreException {
    INorFlashSectorState[] sectorStatesSortedBySequence = new INorFlashSectorState[sectorStates.length];
    System.arraycopy(sectorStates, 0, sectorStatesSortedBySequence, 0, sectorStates.length);
    Arrays.sort(sectorStatesSortedBySequence, new Comparer() {
        public int compare(Object a, Object b) {
            return (int) (((INorFlashSectorState) a).getSequence() - ((INorFlashSectorState) b).getSequence());
        }
    });

    for (int i=0, maxI=sectorStatesSortedBySequence.length, lastI=sectorStatesSortedBySequence.length-1; i < maxI; i++) {
        INorFlashSectorState sectorState;
        sectorState = sectorStatesSortedBySequence[i];
        if (!sectorState.hasErasedHeader()) {
            toBeErasedSectorStateList.addLast(sectorState);
            continue;
        }
        int originalWriteHead =  sectorState.getWriteHeadPosition();
        sectorState.resetHead();
        int offset = sectorState.getWriteHeadPosition();
        MemoryHeapBlock block = new MemoryHeapBlock();
        while (true) {
            if (!getBlockAt(block, sectorState, offset)) {
                break;
            }
            if (block.isAllocated()) {
                sectorState.incrementAllocatedBlockCount();
                if (scanner != null) {
                    scanner.scanBlock(block);
                }
            } else {
                sectorState.incrementFreedBlockCount();
            }
            offset = block.getNextBlockOffset();
        }
        sectorState.setWriteHeadPosition(offset);
        if (i == lastI) {
            currentSectorState = sectorState;
        } else {
            if (sectorState.getAllocatedBlockCount() == 0) {
                toBeErasedSectorStateList.addLast(sectorState);
            } else {
                inUseSectorStateList.addLast(sectorState);
            }
        }
    }
    hasScannedBlocks = true;
}
 
开发者ID:tomatsu,项目名称:squawk,代码行数:57,代码来源:NorFlashMemoryHeap.java


注:本文中的com.sun.squawk.util.Arrays.sort方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。