⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stablearraykeeper.java

📁 Java游戏高级编程!!很不错的!!!Java游戏高级编程!!很不错的
💻 JAVA
字号:
     package com.croftsoft.core.util;     import java.io.Serializable;     import java.lang.reflect.Array;     import java.util.*;     import com.croftsoft.core.lang.NullArgumentException;     import com.croftsoft.core.lang.Testable;     /*********************************************************************     * Optimized for reading from a stable array.     *     * @version     *   2003-04-14     * @since     *   2003-04-11     * @author     *   <a href="http://www.croftsoft.com/">David Wallace Croft</a>     *********************************************************************/     public final class  StableArrayKeeper       implements ArrayKeeper, Serializable, Testable     //////////////////////////////////////////////////////////////////////     //////////////////////////////////////////////////////////////////////     {     private static final long  serialVersionUID = 0L;     //     private Class       baseClass;     private Object [ ]  array;     //     private transient Map  classToArrayMap;     //////////////////////////////////////////////////////////////////////     //////////////////////////////////////////////////////////////////////     public static void  main ( String [ ]  args )     //////////////////////////////////////////////////////////////////////     {       System.out.println ( test ( args ) );     }     public static boolean  test ( String [ ]  args )     //////////////////////////////////////////////////////////////////////     {       try       {         ArrayKeeper  arrayKeeper = new StableArrayKeeper ( );         arrayKeeper.insert ( "c" );         arrayKeeper.insert ( "b" );         arrayKeeper.insert ( "a" );         ArrayLib.println ( arrayKeeper.getArray ( ) );       }       catch ( Exception  ex )       {         ex.printStackTrace ( );         return false;       }       return true;     }     //////////////////////////////////////////////////////////////////////     // constructor methods     //////////////////////////////////////////////////////////////////////     public  StableArrayKeeper ( Object [ ]  array )     //////////////////////////////////////////////////////////////////////     {       setArray ( array );     }     public  StableArrayKeeper ( )     //////////////////////////////////////////////////////////////////////     {       this ( new Object [ 0 ] );     }     //////////////////////////////////////////////////////////////////////     // accessor methods     //////////////////////////////////////////////////////////////////////     public Object [ ]  getArray ( )     //////////////////////////////////////////////////////////////////////     {       return array;     }     public Object [ ]  getArray ( Class  c )     //////////////////////////////////////////////////////////////////////     {       if ( baseClass.equals ( c ) )       {         return array;       }       NullArgumentException.check ( c );       if ( classToArrayMap == null )       {         classToArrayMap = new HashMap ( );       }       Object [ ]  cArray = ( Object [ ] ) classToArrayMap.get ( c );       if ( cArray != null )       {         return cArray;       }       cArray = ( Object [ ] ) Array.newInstance ( c, 0 );       for ( int  i = 0; i < array.length; i++ )       {         if ( c.isInstance ( array [ i ] ) )         {           cArray = ( Object [ ] ) ArrayLib.append ( cArray, array [ i ] );         }       }       classToArrayMap.put ( c, cArray );       return cArray;     }     //////////////////////////////////////////////////////////////////////     // mutator methods     //////////////////////////////////////////////////////////////////////     public void  append ( Object  o )     //////////////////////////////////////////////////////////////////////     {       setArray ( ( Object [ ] ) ArrayLib.append ( array, o ) );     }     public void  insert ( Comparable  comparable )     //////////////////////////////////////////////////////////////////////     {       append ( comparable );       Arrays.sort ( array );     }     public void  remove ( Object  o )     //////////////////////////////////////////////////////////////////////     {       setArray ( ( Object [ ] ) ArrayLib.remove ( array, o ) );     }     public void  setArray ( Object [ ]  array )     //////////////////////////////////////////////////////////////////////     {       NullArgumentException.check ( this.array = array );       baseClass = array.getClass ( );       classToArrayMap = null;     }     //////////////////////////////////////////////////////////////////////     //////////////////////////////////////////////////////////////////////     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -