锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品亚洲视频在线观看,久久久久久a亚洲欧洲aⅴ,亚洲成AV人在线播放无码 http://m.tkk7.com/silvermyth/category/55180.htmlzh-cnFri, 31 Mar 2017 06:09:08 GMTFri, 31 Mar 2017 06:09:08 GMT60Swing Worker搴旂敤涓句緥http://m.tkk7.com/silvermyth/articles/353009.htmlGavin LiGavin LiSun, 26 Jun 2011 03:10:00 GMThttp://m.tkk7.com/silvermyth/articles/353009.htmlhttp://m.tkk7.com/silvermyth/comments/353009.htmlhttp://m.tkk7.com/silvermyth/articles/353009.html#Feedback0http://m.tkk7.com/silvermyth/comments/commentRss/353009.htmlhttp://m.tkk7.com/silvermyth/services/trackbacks/353009.html    1.鑰楁椂鐨勬搷浣滐紙渚嬪浠庢暟鎹簱鏌ヨ澶ч噺鏁版嵁錛岃鍙朥RI璧勬簮絳夛級涓瀹氫笉鑳借繍琛屽湪EDT(浜嬩歡媧懼彂綰跨▼)涓婏紝鍚﹀垯浼氬鑷碨wing鐢ㄦ埛鐣岄潰澶卞幓鍝嶅簲銆?br />    2.鍙兘鍦‥DT綰跨▼涓婂Swing Components榪涜璁塊棶銆?br />    鍩轟簬涓婇潰涓ょ偣鍘熷洜錛屽湪涓涓狫ava Swing紼嬪簭涓紝瑕佹兂浣跨敤鎴風晫闈㈠搷搴旂伒鏁忥紝鑷沖皯搴旇鏈変袱涓嚎紼嬶紱涓涓嚎紼嬬敤鏉ユ墽琛岃楁椂鎿嶄綔錛孍DT綰跨▼鐢ㄦ潵鎵ц鎵鏈変笌Swing Components鐨勪氦浜掞紝渚嬪鏇存柊鏂囨湰錛岄噸緇樺浘褰㈢瓑絳夈傝繖灝辮姹備袱涓嚎紼嬩箣闂磋鐩鎬簰閫氳錛岀粰紼嬪簭鐨勫紑鍙戝甫鏉ヤ簡涓嶅皯鐨勯毦搴︼紝Swing Worker鐨勫嚭鐜頒粠鏍規湰涓婅В鍐充簡榪欎釜闂錛屼嬌紼嬪簭鍛樺揩閫熷紑鍙戝弽搴旂伒鏁忕殑鐨凷wing紼嬪簭鎴愪負鍙兘銆係wingWoker琚璁″簲鐢ㄥ湪姝ょ鍦烘櫙涓嬶紝浣犳湁涓涓楁椂鎿嶄綔闇瑕佽繍琛屽湪鍚庡彴錛屽湪璇ユ搷浣滃畬鎴愭垨閮ㄥ垎瀹屾垚鏃訛紝浣犺鍒╃敤鎿嶄綔榪斿洖鐨勭粨鏋滃幓鏇存柊鐢ㄦ埛鐣岄潰銆?br />    璁╂垜浠亣鎯蟲湁榪欐牱涓涓簲鐢ㄥ満鏅紝鎴戞湁涓涓繚瀛樿仈緋諱漢鐨勬枃浠訛紝鎴戦渶瑕佷粠涓鍙栧茍瑙f瀽鍑烘墍鏈夎仈緋諱漢鐨勪俊鎭紝騫跺強鏃舵洿鏂板湪涓涓狫Table涓紱鍋囪榪欎釜鏂囦歡闈炲父鐨勫ぇ錛岃В鏋愬嚭鎵鏈夎仈緋諱漢鐨勪俊鎭渶瑕佽姳璐瑰嚑鍒嗛挓鐨勬椂闂達紝濡傛灉涓嶈兘寰堝ソ鐨勫崗璋冭繖涓換鍔″拰EDT綰跨▼錛屽垯寰堟湁鍙兘浼氶犳垚鐢ㄦ埛鍦ㄥ嚑鍒嗛挓鏃墮棿閲屽緱涓嶅埌緇撴灉錛岃孲wing鐣岄潰澶勪簬鏃犲搷搴旂姸鎬併傚湪榪欑鎯呭喌涓嬶紝SwingWorker灝辨槸涓涓粷浣崇殑閫夋嫨銆傛垜浠鍏堢湅涓涓婼wingWorker鐨勫畾涔夛細
    public abstract class SwingWorker<T,V> extends Object implements RunnableFuture<T>
鏄劇劧錛岃繖鏃朵竴涓娊璞$殑妯℃澘綾伙紝鍦ㄥ簲鐢ㄧ殑鏃跺欙紝鎴戜滑闇瑕佺戶鎵縎wingWorker騫跺疄渚嬪寲妯℃澘鍙傛暟銆傞偅涔堬紝榪欎袱涓ā鏉跨被鍨嬬┒绔熸槸浠涔堟剰鎬濆憿錛孴鍙傛暟浠h〃鐨勬槸浣犵殑鑰楁椂浠誨姟鎵ц瀹屾垚鏃惰繑鍥炵殑緇撴灉綾誨瀷錛孷浠h〃鐨勬槸浣犵殑鑰楁椂浠誨姟閮ㄥ垎瀹屾垚鏃惰繑鍥炵殑緇撴灉綾誨瀷銆傚湪鎴戜滑鐨勫満鏅腑錛屽亣璁句換鍔″畬鎴愭椂鎴戜滑闇瑕佷竴涓狶ist<BeanContact>(BeanContact鏄竴涓繚瀛樿仈緋諱漢淇℃伅鐨凧avaBean),姣忓綋浠庢枃浠朵腑瑙f瀽鍑轟竴涓仈緋諱漢淇℃伅鏃訛紝鎴戜滑浼氭柊寤轟竴涓狟eanContact騫墮渶瑕佹洿鏂板埌JTable涓傞偅涔堟垜浠殑T灝辨槸List<BeanContact>,鑰孷灝辨槸BeanContact,鍒欏簲璇ュ畾涔夊涓嬬殑綾伙細
     public class LoadContactsTask extends SwingWorker<List<BeanContact>, BeanContact> {
            

     @Override
    protected List<BeanContact> doInBackground() throws Exception {

        //To do the task and return the result
    }


     }
    浠庝笂闈㈠彲浠ョ湅鍒幫紝鎴戜滑榪樺繀欏昏鐩朣wingWorker鐨刣oInBackground鏂規硶錛岃鏂規硶鎵ц鎴戜滑鐨勮楁椂鎿嶄綔錛屽茍涓旇繑鍥炴ā鏉垮疄渚嬪寲鏃剁殑T綾誨瀷緇撴灉銆備笅闈㈡槸鍏蜂綋鐨勪唬鐮佸疄鐜幫細
     

    @Override
    protected List<BeanContact> doInBackground() throws Exception {
        BufferedReader reader = new BufferedReader(new FileReader("c:/contacts.cff"));
        String line = null;
        while ((line = reader.readLine()) != null) {
            String[] strContacts = line.split(",");
            BeanContact contact = new BeanContact();
            contact.setName(strContacts[0]);
            contact.setSex(strContacts[1]);
            contact.setPhone(strContacts[2]);
            contact.setEmail(strContacts[3]);

            lineCnt++;
            publish(contact);/*********/
           contacts.add(contact);
           
            Thread.sleep(100);
        }
        return contacts;
    }

     璇ユ柟娉曞緢綆鍗曪紝灝辨槸浠庢枃浠朵腑璇誨彇涓涓仈緋諱漢鐨勮褰曞茍涓旀柊寤轟竴涓狟eanContact瀹炰緥娣誨姞鍒扮粨鏋滈泦涓傛垜浠渶瑕佹敞鎰忕殑鏄叾涓殑publish鏂規硶錛岃鏂規硶鐢ㄦ潵鍙戝竷閮ㄥ垎鎵ц緇撴灉錛屾瘡璇誨彇涓涓仈緋諱漢淇℃伅錛屾垜浠氨鐢ㄨ鏂規硶鎶婃柊寤虹殑BeanContact鍙戝竷鍑哄幓銆傛垜浠渶瑕佺煡閬撶殑鏄紝鍦╬ublish鑻ュ共涓粨鏋滃悗錛堝彲鑳芥槸涓涓垨澶氫釜錛岀敱SwingWorker綾誨疄鐜幫級SwingWorker綾葷殑process鏂規硶浼氳鑷姩鍥炶皟錛岃屾垜浠彲浠ュ湪鍏朵腑鍘繪洿鏂扮敤鎴風晫闈紝SwingWorker淇濊瘉process鏂規硶涓墍鏈夋搷浣滈兘榪愯鍦‥DT綰跨▼涓備笅闈㈡槸鎴戜滑鐨勫叿浣撳疄鐜幫細
    @Override
    protected void process(List<BeanContact> chunks) {
        if (progressHandle != null) {
            progressHandle.processInProgress(chunks, lineCnt * 100 / 10000);
        }
    }

    鎴戜滑鐨勫疄鐜頒腑錛宲rocess涓細璋冪敤IProgressHandle錛堣嚜瀹氫箟鐨勪竴涓帴鍙o紝鐢ㄦ潵鏇存柊鐢ㄦ埛鐣岄潰錛岃瑙佸悗闈唬鐮侊級鐨刾rocessInProgress鏂規硶鏉ユ洿鏂扮敤鎴風晫闈紝澶у浼氭敞鎰忓埌process鏂規硶鐨勫弬鏁版槸涓涓狶ist<BeanContact>,涓轟粈涔堜笉鏄竴涓狟eanContact鍛紝絳旀灝辨槸鎴戜滑鍦ㄤ笂闈㈣榪囩殑錛屾湁鍙兘publish鑻ュ共嬈″悗鎵嶈皟鐢╬rocess鏂規硶銆?br />    涓庢綾諱技錛屽湪doInBackground瀹屾垚鍚庯紝SwingWorker浼氳嚜鍔ㄨ皟鐢╠one鏂規硶錛屼笅闈㈡槸鎴戜滑鐨勫疄鐜幫細
    @Override
    protected void done() {
        if (progressHandle != null) {
            progressHandle.processComplete(contacts);
        }
    }
    瀹㈡埛绔浣曟潵浣跨敤鐢⊿wingWork鍛紝寰堢畝鍗曪紝鍙渶瑕佹柊寤轟竴涓疄渚嬪茍涓旇皟鐢ㄥ畠鐨別xecute鏂規硶鍗沖彲錛屼粬浼氳嚜鍔ㄨ皟鐢╠oInBackground鏂規硶鏉ュ畬鎴愭搷浣滐紱浠ヤ笅鏄畬鏁寸殑浠g爜瀹炵幇錛?br />    
    

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package swingworkertest;

/**
 *
 * @author Administrator
 */
public class BeanContact {
    private String name=null;
    private String sex=null;
    private String phone=null;
    private String email=null;

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the sex
     */
    public String getSex() {
        return sex;
    }

    /**
     * @param sex the sex to set
     */
    public void setSex(String sex) {
        this.sex = sex;
    }

    /**
     * @return the phone
     */
    public String getPhone() {
        return phone;
    }

    /**
     * @param phone the phone to set
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }
   
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Contacts.java
 *
 * Created on 2011-6-25, 10:40:13
 */
package swingworkertest;

import javax.swing.JFileChooser;

/**
 *
 * @author Administrator
 */
public class Contacts extends javax.swing.JFrame {

    /** Creates new form Contacts */
    public Contacts() {
        initComponents();
        handle = new DefaultProgressHandle();
        handle.setTable(jTable1);
        handle.setProgressBar(jProgressBar1);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jButton2 = new javax.swing.JButton();
        jProgressBar1 = new javax.swing.JProgressBar();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("嫻忚");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jTextField1.setEditable(false);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "濮撳悕", "鎬у埆", "鐢佃瘽", "鐢靛瓙閭歡"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        jScrollPane1.setViewportView(jTable1);

        jButton2.setText("鍔犺澆鑱旂郴浜?);
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 557, Short.MAX_VALUE)
                    .addComponent(jProgressBar1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 557, Short.MAX_VALUE)
                    .addComponent(jButton2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 557, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE)
                        .addGap(18, 18, 18)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 442, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButton1, jButton2, jTextField1});

        pack();
    }// </editor-fold>                       

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

        ContactsFileFilter filter = new ContactsFileFilter();
       
        JFileChooser chooser = new JFileChooser();
        chooser.setFileFilter(filter);
        int returnVal = chooser.showOpenDialog(null);
        if(returnVal == JFileChooser.APPROVE_OPTION){
            jTextField1.setText(chooser.getSelectedFile().getAbsolutePath());
        }
    }                                       

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        LoadContactsTask task = new LoadContactsTask(jTextField1.getText());
        task.setProgressHandle(handle);
        task.execute();
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                Contacts contacts = new Contacts();
                contacts.setTitle("Contacts");;
                contacts.setVisible(true);
            }
        });
    }
    DefaultProgressHandle handle = null;
    // Variables declaration - do not modify                    
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JProgressBar jProgressBar1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration                  
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package swingworkertest;

import java.io.File;
import javax.swing.filechooser.FileFilter;

/**
 *
 * @author Administrator
 */
public class ContactsFileFilter extends FileFilter{

    public boolean accept(File pathname) {
        if(pathname.isDirectory()){
            return true;
        }else{
            return pathname.getName().endsWith(".cff");
        }
    }

    @Override
    public String getDescription() {
        return "Text Files";
    }
   
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package swingworkertest;

import java.util.List;
import javax.swing.JProgressBar;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Administrator
 */
public class DefaultProgressHandle implements IProgressHandle {

    private JTable table = null;
    private JProgressBar progressBar = null;

    public void processInProgress(List<BeanContact> contacts, int progress) {
        DefaultTableModel model = (DefaultTableModel) table.getModel();
        for (BeanContact contact : contacts) {
            String[] strArray = {contact.getName(), contact.getSex(), contact.getPhone(), contact.getEmail()};
            model.addRow(strArray);
        }
        progressBar.setValue(progress);
    }

    public void processComplete(List<BeanContact> contacts) {
        progressBar.setValue(progressBar.getMaximum());
    }

    /**
     * @param table the table to set
     */
    public void setTable(JTable table) {
        this.table = table;
    }

    /**
     * @param progressBar the progressBar to set
     */
    public void setProgressBar(JProgressBar progressBar) {
        this.progressBar = progressBar;
    }
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package swingworkertest;

import java.util.List;

/**
 *
 * @author Administrator
 */
public interface IProgressHandle {
    public abstract void processInProgress(List<BeanContact> contacts,int progress);
    public abstract void processComplete(List<BeanContact> contacts);
}


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package swingworkertest;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import javax.swing.SwingWorker;

/**
 *
 * @author Administrator
 */
public class LoadContactsTask extends SwingWorker<List<BeanContact>, BeanContact> {

    private String fileName = null;
    private IProgressHandle progressHandle = null;
    private List<BeanContact> contacts = null;
    private int lineCnt = 0;

    public LoadContactsTask(String fileName) {
        this.fileName = fileName;
        contacts = new ArrayList<BeanContact>();
    }

    @Override
    protected List<BeanContact> doInBackground() throws Exception {
        BufferedReader reader = new BufferedReader(new FileReader("c:/contacts.cff"));
        String line = null;
        while ((line = reader.readLine()) != null) {
            String[] strContacts = line.split(",");
            BeanContact contact = new BeanContact();
            contact.setName(strContacts[0]);
            contact.setSex(strContacts[1]);
            contact.setPhone(strContacts[2]);
            contact.setEmail(strContacts[3]);

            lineCnt++;
            publish(contact);
            contacts.add(contact);
           
            Thread.sleep(100);
        }
        return contacts;
    }

    /**
     * @param progressHandle the progressHandle to set
     */
    public void setProgressHandle(IProgressHandle progressHandle) {
        this.progressHandle = progressHandle;
    }

    @Override
    protected void process(List<BeanContact> chunks) {
        if (progressHandle != null) {
            progressHandle.processInProgress(chunks, lineCnt * 100 / 10000);
        }
    }

    @Override
    protected void done() {
        if (progressHandle != null) {
            progressHandle.processComplete(contacts);
        }
    }
}



Gavin Li 2011-06-26 11:10 鍙戣〃璇勮
]]>
Volatile鐨勪竴縐嶇畝鍗曞簲鐢?/title><link>http://m.tkk7.com/silvermyth/articles/352316.html</link><dc:creator>Gavin Li</dc:creator><author>Gavin Li</author><pubDate>Tue, 14 Jun 2011 14:53:00 GMT</pubDate><guid>http://m.tkk7.com/silvermyth/articles/352316.html</guid><wfw:comment>http://m.tkk7.com/silvermyth/comments/352316.html</wfw:comment><comments>http://m.tkk7.com/silvermyth/articles/352316.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/silvermyth/comments/commentRss/352316.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/silvermyth/services/trackbacks/352316.html</trackback:ping><description><![CDATA[<span>  </span><div style="list-style: disc outside none; background-image: none; position: static; text-align: left; padding: 0px; line-height: normal; overflow: visible; text-transform: none; background-color: transparent; font-variant-ligatures: normal; font-variant-caps: normal; font-style: normal; text-indent: 0pt; background-attachment: scroll; display: block; font-family: "MS Shell Dlg"; background-position: 0% 0%; float: none; letter-spacing: normal; visibility: inherit; color: #000000; clear: none; font-size: 12px; text-decoration: none;"><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Tahoma; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="list-style: disc none outside;background-image: none; border-bottom: #000000; position: static; text-align: left; border-left: #000000; padding-bottom: 0px; line-height: normal; overflow-x: visible; overflow-y: visible; text-transform: none; background-color: transparent; font-variant: normal; font-style: normal; text-indent: 0pt; padding-left: 0px; background-attachment: scroll; padding-right: 0px; display: inline; font-family: 'MS Shell Dlg'; background-position: 0% 0%; float: none; letter-spacing: normal; visibility: inherit; color: #000000; clear: none; font-size: 12px; border-top: #000000; border-right: #000000; text-decoration: none; padding-top: 0px"><font style="list-style: disc none outside;background-image: none; border-bottom: #0000ff; position: static; text-align: left; border-left: #0000ff; padding-bottom: 0px; line-height: normal; overflow-x: visible; overflow-y: visible; text-transform: none; background-color: transparent; font-variant: normal; font-style: normal; text-indent: 0pt; padding-left: 0px; background-attachment: scroll; padding-right: 0px; display: inline; font-family: 'MS Shell Dlg'; background-position: 0% 0%; float: none; letter-spacing: normal; visibility: inherit; color: #0000ff; clear: none; font-size: 12px; border-top: #0000ff; border-right: #0000ff; text-decoration: none; padding-top: 0px" color="#0000ff">   <span> 鎴戜滑鐭ラ亾錛屽湪Java涓緗彉閲忓肩殑鎿嶄綔錛岄櫎浜唋ong鍜宒ouble綾誨瀷鐨勫彉閲忓閮芥槸鍘熷瓙鎿嶄綔錛屼篃灝辨槸璇達紝瀵逛簬鍙橀噺鍊肩殑綆鍗曡鍐欐搷浣滄病鏈夊繀瑕佽繘琛屽悓姝ャ傝繖鍦↗VM 1.2涔嬪墠錛孞ava鐨勫唴瀛樻ā鍨嬪疄鐜版繪槸浠庝富瀛樿鍙栧彉閲忥紝鏄笉闇瑕佽繘琛岀壒鍒殑娉ㄦ剰鐨勩傝岄殢鐫JVM鐨勬垚鐔熷拰浼樺寲錛岀幇鍦ㄥ湪澶氱嚎紼嬬幆澧冧笅volatile鍏抽敭瀛楃殑浣跨敤鍙樺緱闈炲父閲嶈銆傚湪褰撳墠鐨凧ava鍐呭瓨妯″瀷涓嬶紝綰跨▼鍙互鎶婂彉閲忎繚瀛樺湪鏈湴鍐呭瓨錛堟瘮濡傛満鍣ㄧ殑瀵勫瓨鍣級涓紝鑰屼笉鏄洿鎺ュ湪涓誨瓨涓繘琛岃鍐欍傝繖灝卞彲鑳介犳垚涓涓嚎紼嬪湪涓誨瓨涓慨鏀逛簡涓涓彉閲忕殑鍊鹼紝鑰屽彟澶栦竴涓嚎紼嬭繕緇х畫浣跨敤瀹冨湪瀵勫瓨鍣ㄤ腑鐨勫彉閲忓肩殑鎷瘋礉錛岄犳垚鏁版嵁鐨勪笉涓鑷淬傛妸鍙橀噺澹版槑涓簐olatile錛堜笉紼沖畾鐨勶級錛岃繖灝辨寚紺篔VM錛岃繖涓彉閲忔槸涓嶇ǔ瀹氱殑錛屾瘡嬈′嬌鐢ㄥ畠閮藉埌涓誨瓨涓繘琛岃鍙栥備竴鑸鏉ワ紝澶氫換鍔$幆澧冧笅鍚勪換鍔¢棿鍏變韓鐨勬爣蹇楅兘搴旇鍔爒olatile淇グ銆?/span><br /><span>    鍦ㄤ竴浜涙儏鍐典笅錛屼嬌鐢╲olatile鍙互杈懼埌鍚屾鐨勭洰鐨勶紝鍦ㄦ煇縐嶇▼搴︿笂鐩稿綋浜巗ynchronized鍏抽敭瀛楋紱涓轟粈涔堣鏄竴瀹氱▼搴︿笂鍛紝榪欏氨瑕佷粠synchronized鍚屾鍏抽敭瀛楄璧蜂簡錛宻ynchronized鍦↗ava璇█涓彲浠ュ疄鐜頒袱涓姛鑳斤紝浜掓枼鎬у拰鍙鎬с備簰鏂ユф槸鎸囦換鎰忔椂鍒誨彧鑳芥湁涓涓嚎紼嬫寔鏈夌壒瀹氱殑閿侊紝浠庤屽彲浠ュ疄鐜板鍏變韓鏁版嵁鐨勫崗璋冭闂紱鑰屽彲瑙佹ц鐨勬槸錛屼換鎰忕嚎紼嬩慨鏀圭殑鍏變韓鏁版嵁瀵逛簬鍏朵粬綰跨▼蹇呴』鏄彲瑙佺殑錛屼篃灝辨槸璇翠笉鍏佽鍏朵粬綰跨▼鎷垮埌鏃х殑鏁版嵁銆傝寁olatile鍏抽敭瀛楀彧鑳藉疄鐜板彲瑙佹э紝涔熷氨鏄鐢╲olatile淇グ鐨勫彉閲忕殑淇敼瀵逛簬鍏朵粬綰跨▼鏄彲瑙佺殑錛屽鏋滆鍊艱淇敼錛屽叾浠栫嚎紼嬪彲浠ョ珛鍗沖緱鍒版柊鍊箋備笅闈㈢殑浠g爜綆鍗曞睍紺轟簡volatile鐨勪竴涓畝鍗曞簲鐢紝綰跨▼鐨勯鍑猴細</span><br />     <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span> 1</span><img id="Codehighlighter1_41_463_Open_Image" onclick="this.style.display='none'; Codehighlighter1_41_463_Open_Text.style.display='none'; Codehighlighter1_41_463_Closed_Image.style.display='inline'; Codehighlighter1_41_463_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_41_463_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_41_463_Closed_Text.style.display='none'; Codehighlighter1_41_463_Open_Image.style.display='inline'; Codehighlighter1_41_463_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif"><span>public</span><span style="color: #000000"> </span><span>class</span><span> Monitor </span><span>implements</span><span> Runnable </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_41_463_Closed_Text"><img src="http://m.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_41_463_Open_Text"><span>{<br /></span><span> 2</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span> 3</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" />    </span><span>private</span><span style="color: #000000"> </span><span>volatile</span><span> Thread blinker;<br /></span><span> 4</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" />    </span><span>boolean</span><span> isRunning </span><span>=</span><span style="color: #000000"> </span><span>false</span><span>;<br /></span><span> 5</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span> 6</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span> 7</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span>    @Override<br /></span><span> 8</span><span style="color: #000000"><img id="Codehighlighter1_138_325_Open_Image" onclick="this.style.display='none'; Codehighlighter1_138_325_Open_Text.style.display='none'; Codehighlighter1_138_325_Closed_Image.style.display='inline'; Codehighlighter1_138_325_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_138_325_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_138_325_Closed_Text.style.display='none'; Codehighlighter1_138_325_Open_Image.style.display='inline'; Codehighlighter1_138_325_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">    </span><span>public</span><span style="color: #000000"> </span><span>void</span><span> run() </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_138_325_Closed_Text"><img src="http://m.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_138_325_Open_Text"><span>{<br /></span><span> 9</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span>10</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span>        Thread thisThread </span><span>=</span><span> Thread.currentThread();<br /></span><span>11</span><span style="color: #000000"><img id="Codehighlighter1_219_321_Open_Image" onclick="this.style.display='none'; Codehighlighter1_219_321_Open_Text.style.display='none'; Codehighlighter1_219_321_Closed_Image.style.display='inline'; Codehighlighter1_219_321_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_219_321_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_219_321_Closed_Text.style.display='none'; Codehighlighter1_219_321_Open_Image.style.display='inline'; Codehighlighter1_219_321_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span>while</span><span> (blinker </span><span>==</span><span> thisThread) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_219_321_Closed_Text"><img src="http://m.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_219_321_Open_Text"><span>{<br /></span><span>12</span><span style="color: #000000"><img id="Codehighlighter1_228_259_Open_Image" onclick="this.style.display='none'; Codehighlighter1_228_259_Open_Text.style.display='none'; Codehighlighter1_228_259_Closed_Image.style.display='inline'; Codehighlighter1_228_259_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_228_259_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_228_259_Closed_Text.style.display='none'; Codehighlighter1_228_259_Open_Image.style.display='inline'; Codehighlighter1_228_259_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">            </span><span>try</span><span style="color: #000000"> </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_228_259_Closed_Text"><img src="http://m.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_228_259_Open_Text"><span>{<br /></span><span>13</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span>                thisThread.sleep(</span><span>50</span><span>);<br /></span><span>14</span><span style="color: #000000"><img id="Codehighlighter1_292_297_Open_Image" onclick="this.style.display='none'; Codehighlighter1_292_297_Open_Text.style.display='none'; Codehighlighter1_292_297_Closed_Image.style.display='inline'; Codehighlighter1_292_297_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_292_297_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_292_297_Closed_Text.style.display='none'; Codehighlighter1_292_297_Open_Image.style.display='inline'; Codehighlighter1_292_297_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif"></span><span>            }</span></span><span style="color: #000000"> </span><span>catch</span><span> (InterruptedException e) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_292_297_Closed_Text"><img src="http://m.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_292_297_Open_Text"><span>{<br /></span><span>15</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /></span><span>            }</span></span><span style="color: #000000"><br /></span><span>16</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" />            </span><span>//</span><span>To do you task</span><span style="color: #008000"><br /></span><span>17</span><span style="color: #008000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /></span><span>        }</span></span><span style="color: #000000"><br /></span><span>18</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span>19</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /></span><span>    }</span></span><span style="color: #000000"><br /></span><span>20</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span>21</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span>22</span><span style="color: #000000"><img id="Codehighlighter1_357_409_Open_Image" onclick="this.style.display='none'; Codehighlighter1_357_409_Open_Text.style.display='none'; Codehighlighter1_357_409_Closed_Image.style.display='inline'; Codehighlighter1_357_409_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_357_409_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_357_409_Closed_Text.style.display='none'; Codehighlighter1_357_409_Open_Image.style.display='inline'; Codehighlighter1_357_409_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">    </span><span>public</span><span style="color: #000000"> </span><span>void</span><span> startMonitor() </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_357_409_Closed_Text"><img src="http://m.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_357_409_Open_Text"><span>{<br /></span><span>23</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span>        blinker </span><span>=</span><span style="color: #000000"> </span><span>new</span><span> Thread(</span><span>this</span><span>);<br /></span><span>24</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span>        blinker.start();<br /></span><span>25</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /></span><span>    }</span></span><span style="color: #000000"><br /></span><span>26</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span>27</span><span style="color: #000000"><img id="Codehighlighter1_439_460_Open_Image" onclick="this.style.display='none'; Codehighlighter1_439_460_Open_Text.style.display='none'; Codehighlighter1_439_460_Closed_Image.style.display='inline'; Codehighlighter1_439_460_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_439_460_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_439_460_Closed_Text.style.display='none'; Codehighlighter1_439_460_Open_Image.style.display='inline'; Codehighlighter1_439_460_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">    </span><span>public</span><span style="color: #000000"> </span><span>void</span><span> stopMonitor() </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_439_460_Closed_Text"><img src="http://m.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_439_460_Open_Text"><span>{<br /></span><span>28</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span>        blinker </span><span>=</span><span style="color: #000000"> </span><span>null</span><span>;<br /></span><span>29</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /></span><span>    }</span></span><span style="color: #000000"><br /></span><span>30</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /></span><span>31</span><span style="color: #000000"><img align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /></span><span>}</span></span></div><br /><br /><br /><br /><br /></font></span></span></div> <div style="list-style: disc outside none; background-image: none; position: static; text-align: left; padding: 0px; line-height: normal; overflow: visible; text-transform: none; background-color: transparent; font-variant-ligatures: normal; font-variant-caps: normal; font-style: normal; text-indent: 0pt; background-attachment: scroll; display: block; font-family: "MS Shell Dlg"; background-position: 0% 0%; float: none; letter-spacing: normal; visibility: inherit; color: #000000; clear: none; font-size: 12px; text-decoration: none;"><font face="Verdana"></font> </div><img src ="http://m.tkk7.com/silvermyth/aggbug/352316.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/silvermyth/" target="_blank">Gavin Li</a> 2011-06-14 22:53 <a href="http://m.tkk7.com/silvermyth/articles/352316.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Java涓璍ist鐨勫畨鍏ㄥ垹闄?/title><link>http://m.tkk7.com/silvermyth/articles/351944.html</link><dc:creator>Gavin Li</dc:creator><author>Gavin Li</author><pubDate>Wed, 08 Jun 2011 15:28:00 GMT</pubDate><guid>http://m.tkk7.com/silvermyth/articles/351944.html</guid><wfw:comment>http://m.tkk7.com/silvermyth/comments/351944.html</wfw:comment><comments>http://m.tkk7.com/silvermyth/articles/351944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/silvermyth/comments/commentRss/351944.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/silvermyth/services/trackbacks/351944.html</trackback:ping><description><![CDATA[    瀵逛簬Java闆嗗悎涓殑List鏉ヨ錛屽垹闄ゆ槸涓涓父瑙佺殑鎿嶄綔錛屼絾鏄篃鏄渶瀹規槗鐘敊璇殑鍦版柟,灝ゅ叾瀵逛簬鏂版墜鏇存槸濡傛銆傜瑪鑰呭湪宸ヤ綔涓篃緇忓父鐪嬪埌涓浜涘伐浣滀簡寰堥暱鏃墮棿鐨勮佺▼搴忓憳鍦ㄨ繖涓棶棰樹笂鐘敊璇紱鍦ㄨ繖閲岋紝鎴戝皢閫氳繃涓涓緥瀛愶紝緇欏ぇ瀹跺睍紺哄浣曚粠List涓畨鍏ㄧ殑鍒犻櫎鍏冪礌銆傚厛鐪嬩笅闈㈢殑渚嬪瓙錛?br />    鍋囧鎴戞湁涓涓狶ist,鍏朵腑鍖呭惈浜?涓厓绱狅紝鎴戞兂鍒犻櫎鍏朵腑鐨勫墠闈?涓紝搴旇濡備綍鍋氾紱濂藉紼嬪簭鍛樹笉鍔犳濈儲錛屽啓涓嬩簡涓嬮潰鐨勪唬鐮侊細<br />     <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080"> 1</span><img id="Codehighlighter1_47_200_Open_Image" onclick="this.style.display='none'; Codehighlighter1_47_200_Open_Text.style.display='none'; Codehighlighter1_47_200_Closed_Image.style.display='inline'; Codehighlighter1_47_200_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_47_200_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_47_200_Closed_Text.style.display='none'; Codehighlighter1_47_200_Open_Image.style.display='inline'; Codehighlighter1_47_200_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> unSafeDeleteTopByCount(List list) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_47_200_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_47_200_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080"> 2</span><span style="color: #000000"><img id="Codehighlighter1_55_121_Open_Image" onclick="this.style.display='none'; Codehighlighter1_55_121_Open_Text.style.display='none'; Codehighlighter1_55_121_Closed_Image.style.display='inline'; Codehighlighter1_55_121_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_55_121_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_55_121_Closed_Text.style.display='none'; Codehighlighter1_55_121_Open_Image.style.display='inline'; Codehighlighter1_55_121_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span style="color: #0000ff">try</span><span style="color: #000000"> </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_55_121_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_55_121_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080"> 3</span><span style="color: #000000"><img id="Codehighlighter1_92_117_Open_Image" onclick="this.style.display='none'; Codehighlighter1_92_117_Open_Text.style.display='none'; Codehighlighter1_92_117_Closed_Image.style.display='inline'; Codehighlighter1_92_117_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_92_117_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_92_117_Closed_Text.style.display='none'; Codehighlighter1_92_117_Open_Image.style.display='inline'; Codehighlighter1_92_117_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">            </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> 4; i</span><span style="color: #000000">++</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_92_117_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_92_117_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080"> 4</span><span style="color: #000000"><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />                list.remove(i);<br /></span><span style="color: #008080"> 5</span><span style="color: #000000"><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />            }</span></span><span style="color: #000000"><br /></span><span style="color: #008080"> 6</span><span style="color: #000000"><img id="Codehighlighter1_143_171_Open_Image" onclick="this.style.display='none'; Codehighlighter1_143_171_Open_Text.style.display='none'; Codehighlighter1_143_171_Closed_Image.style.display='inline'; Codehighlighter1_143_171_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_143_171_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_143_171_Closed_Text.style.display='none'; Codehighlighter1_143_171_Open_Image.style.display='inline'; Codehighlighter1_143_171_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (Exception e) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_143_171_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_143_171_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080"> 7</span><span style="color: #000000"><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            e.printStackTrace();<br /></span><span style="color: #008080"> 8</span><span style="color: #000000"><img id="Codehighlighter1_181_197_Open_Image" onclick="this.style.display='none'; Codehighlighter1_181_197_Open_Text.style.display='none'; Codehighlighter1_181_197_Closed_Image.style.display='inline'; Codehighlighter1_181_197_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_181_197_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_181_197_Closed_Text.style.display='none'; Codehighlighter1_181_197_Open_Image.style.display='inline'; Codehighlighter1_181_197_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        }</span></span><span style="color: #000000"> </span></span></div>    澶у鍙互鏂板緩涓涓狶ist,鐒跺悗鏂板緩涓涓被鍦╩ain涓皟鐢ㄤ竴涓嬭繖涓柟娉曪紝鐪嬬湅緇撴灉浼氬浣曪細鐪嬪埌浜嗗惂<span style="color: red">錛岀▼搴忔姏鍑轟簡寮傚父錛屽涓嬶細</span><br /><span style="color: red">    java.lang.IndexOutOfBoundsException: Index: 3, Size: 3</span><br /><span style="color: red"> at java.util.ArrayList.RangeCheck(Unknown Source)</span><br /><span style="color: red"> at java.util.ArrayList.remove(Unknown Source)</span><br /><span style="color: red"> at com.lpx.collection.TestArrayDeletion.unSafeDeleteTopByCount(TestArrayDeletion.java:59)</span><br /><span style="color: red"> at com.lpx.collection.TestArrayDeletion.main(TestArrayDel</span>etion.java:26)<br />    鐪嬪埌榪欓噷錛屽彲鑳藉ぇ瀹跺凡緇忔槑鐧戒簡錛涘浜嗭紝鍦ㄥ垹闄ょ殑榪囩▼涓紝List鐨剆ize鍙戠敓浜嗗彉鍖栵紝浣嗘槸index娌℃湁鍙樺寲錛屽氨浼氶犳垚index>=size鐨勬儏鍐靛彂鐢燂紝鎶涘嚭IndexOutOfBoundsException鏄竴瀹氱殑銆傝繖榪樼畻濂界殑錛岃嚦灝戜綘鐭ラ亾鏈夊紓甯革紝浣嗘槸榪樻湁涓縐嶆洿闅愯斀鐨勬儏鍐碉紝濡傛灉浣犲垹闄ょ殑涓暟鏄?涓紝IndexOutOfBoundsException鏄笉浼氬彂鐢熺殑錛屼絾鏄垹闄ゅ悗鐨凩ist涓嶆槸浣犳兂瑕佺殑緇撴灉銆傚叿浣撴槸 <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_47_200_Open_Image" onclick="this.style.display='none'; Codehighlighter1_47_200_Open_Text.style.display='none'; Codehighlighter1_47_200_Closed_Image.style.display='inline'; Codehighlighter1_47_200_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_47_200_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_47_200_Closed_Text.style.display='none'; Codehighlighter1_47_200_Open_Image.style.display='inline'; Codehighlighter1_47_200_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> unSafeDeleteTopByCount(</span><span style="color: #0000ff">int</span><span style="color: #000000"> count) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_47_200_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_47_200_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_55_121_Open_Image" onclick="this.style.display='none'; Codehighlighter1_55_121_Open_Text.style.display='none'; Codehighlighter1_55_121_Closed_Image.style.display='inline'; Codehighlighter1_55_121_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_55_121_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_55_121_Closed_Text.style.display='none'; Codehighlighter1_55_121_Open_Image.style.display='inline'; Codehighlighter1_55_121_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span style="color: #0000ff">try</span><span style="color: #000000"> </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_55_121_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_55_121_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_92_117_Open_Image" onclick="this.style.display='none'; Codehighlighter1_92_117_Open_Text.style.display='none'; Codehighlighter1_92_117_Closed_Image.style.display='inline'; Codehighlighter1_92_117_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_92_117_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_92_117_Closed_Text.style.display='none'; Codehighlighter1_92_117_Open_Image.style.display='inline'; Codehighlighter1_92_117_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">            </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> count; i</span><span style="color: #000000">++</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_92_117_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_92_117_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />                list.remove(i);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />            }</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_143_171_Open_Image" onclick="this.style.display='none'; Codehighlighter1_143_171_Open_Text.style.display='none'; Codehighlighter1_143_171_Closed_Image.style.display='inline'; Codehighlighter1_143_171_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_143_171_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_143_171_Closed_Text.style.display='none'; Codehighlighter1_143_171_Open_Image.style.display='inline'; Codehighlighter1_143_171_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (Exception e) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_143_171_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_143_171_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            e.printStackTrace();<br /><img id="Codehighlighter1_181_197_Open_Image" onclick="this.style.display='none'; Codehighlighter1_181_197_Open_Text.style.display='none'; Codehighlighter1_181_197_Closed_Image.style.display='inline'; Codehighlighter1_181_197_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_181_197_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_181_197_Closed_Text.style.display='none'; Codehighlighter1_181_197_Open_Image.style.display='inline'; Codehighlighter1_181_197_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">finally</span><span style="color: #000000"> </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_181_197_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_181_197_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            print();<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />        }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />    }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" /><br /><img id="Codehighlighter1_224_287_Open_Image" onclick="this.style.display='none'; Codehighlighter1_224_287_Open_Text.style.display='none'; Codehighlighter1_224_287_Closed_Image.style.display='inline'; Codehighlighter1_224_287_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_224_287_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_224_287_Closed_Text.style.display='none'; Codehighlighter1_224_287_Open_Image.style.display='inline'; Codehighlighter1_224_287_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> print() </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_224_287_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_224_287_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_252_284_Open_Image" onclick="this.style.display='none'; Codehighlighter1_252_284_Open_Text.style.display='none'; Codehighlighter1_252_284_Closed_Image.style.display='inline'; Codehighlighter1_252_284_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_252_284_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_252_284_Closed_Text.style.display='none'; Codehighlighter1_252_284_Open_Image.style.display='inline'; Codehighlighter1_252_284_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (String str : list) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_252_284_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_252_284_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            System.out.println(str);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />        }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />    }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" />List</span><span style="color: #000000"><</span><span style="color: #000000">String</span><span style="color: #000000">></span><span style="color: #000000"> list </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> ArrayList</span><span style="color: #000000"><</span><span style="color: #000000">String</span><span style="color: #000000">></span><span style="color: #000000">();<br /><img id="Codehighlighter1_355_383_Open_Image" onclick="this.style.display='none'; Codehighlighter1_355_383_Open_Text.style.display='none'; Codehighlighter1_355_383_Closed_Image.style.display='inline'; Codehighlighter1_355_383_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_355_383_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_355_383_Closed_Text.style.display='none'; Codehighlighter1_355_383_Open_Image.style.display='inline'; Codehighlighter1_355_383_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000"> i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000"><</span><span style="color: #000000">6</span><span style="color: #000000">;i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_355_383_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_355_383_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />       list.add(</span><span style="color: #000000">"</span><span style="color: #000000">str</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">i);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" />unSafeDeleteTopByCount(</span><span style="color: #000000">3</span><span style="color: #000000">);</span></div>   浠涔堟剰鎬濆憿錛屽ぇ瀹跺彲浠ョ湅涓涓嬩笂闈㈢殑浠g爜錛屽鏋滆繍琛岀殑璇濓紝鎵撳嵃鍑虹殑緇撴灉鏄細<br />    str1<br />    str3<br />    str5<br />   涓轟粈涔堝憿錛屽綋鎴戜滑鍒犻櫎浜唅ndex涓?鐨勫厓绱犮恠tr0銆戝悗錛岀敱浜嶭ist鐨剆ize鍙樺寲錛宨ndex涓?鐨勫厓绱犱細鍙樹負str1,鑰宨ndex涓?鐨勫厓绱犱細鍙樹負str2,榪欐椂鐢? <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_54_205_Open_Image" onclick="this.style.display='none'; Codehighlighter1_54_205_Open_Text.style.display='none'; Codehighlighter1_54_205_Closed_Image.style.display='inline'; Codehighlighter1_54_205_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_54_205_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_54_205_Closed_Text.style.display='none'; Codehighlighter1_54_205_Open_Image.style.display='inline'; Codehighlighter1_54_205_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> safeDeletionTopByCountMethod1(</span><span style="color: #0000ff">int</span><span style="color: #000000"> count) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_54_205_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_54_205_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">*********safeDeletionTopByCountMethod1*********</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img id="Codehighlighter1_168_191_Open_Image" onclick="this.style.display='none'; Codehighlighter1_168_191_Open_Text.style.display='none'; Codehighlighter1_168_191_Closed_Image.style.display='inline'; Codehighlighter1_168_191_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_168_191_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_168_191_Closed_Text.style.display='none'; Codehighlighter1_168_191_Open_Image.style.display='inline'; Codehighlighter1_168_191_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> count </span><span style="color: #000000">-</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">; i </span><span style="color: #000000">>=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i</span><span style="color: #000000">--</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_168_191_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_168_191_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            list.remove(i);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />        }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        print();<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />    }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" /><br /><img id="Codehighlighter1_263_409_Open_Image" onclick="this.style.display='none'; Codehighlighter1_263_409_Open_Text.style.display='none'; Codehighlighter1_263_409_Closed_Image.style.display='inline'; Codehighlighter1_263_409_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_263_409_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_263_409_Closed_Text.style.display='none'; Codehighlighter1_263_409_Open_Image.style.display='inline'; Codehighlighter1_263_409_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif">    </span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> safeDeletionTopByCountMethod2(</span><span style="color: #0000ff">int</span><span style="color: #000000"> count) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_263_409_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_263_409_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">*********safeDeletionTopByCountMethod2*********</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img id="Codehighlighter1_372_395_Open_Image" onclick="this.style.display='none'; Codehighlighter1_372_395_Open_Text.style.display='none'; Codehighlighter1_372_395_Closed_Image.style.display='inline'; Codehighlighter1_372_395_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_372_395_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_372_395_Closed_Text.style.display='none'; Codehighlighter1_372_395_Open_Image.style.display='inline'; Codehighlighter1_372_395_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> count; i</span><span style="color: #000000">++</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_372_395_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_372_395_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            list.remove(</span><span style="color: #000000">0</span><span style="color: #000000">);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />        }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        print();<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />    }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" /><br /><img id="Codehighlighter1_467_706_Open_Image" onclick="this.style.display='none'; Codehighlighter1_467_706_Open_Text.style.display='none'; Codehighlighter1_467_706_Closed_Image.style.display='inline'; Codehighlighter1_467_706_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_467_706_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_467_706_Closed_Text.style.display='none'; Codehighlighter1_467_706_Open_Image.style.display='inline'; Codehighlighter1_467_706_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif">    </span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> safeDeletionTopByCountMethod3(</span><span style="color: #0000ff">int</span><span style="color: #000000"> count) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_467_706_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_467_706_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">*********safeDeletionTopByCountMethod3*********</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        List</span><span style="color: #000000"><</span><span style="color: #000000">String</span><span style="color: #000000">></span><span style="color: #000000"> localList </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> ArrayList</span><span style="color: #000000"><</span><span style="color: #000000">String</span><span style="color: #000000">></span><span style="color: #000000">();<br /><img id="Codehighlighter1_628_663_Open_Image" onclick="this.style.display='none'; Codehighlighter1_628_663_Open_Text.style.display='none'; Codehighlighter1_628_663_Closed_Image.style.display='inline'; Codehighlighter1_628_663_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_628_663_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_628_663_Closed_Text.style.display='none'; Codehighlighter1_628_663_Open_Image.style.display='inline'; Codehighlighter1_628_663_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> count; i</span><span style="color: #000000">++</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_628_663_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_628_663_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            localList.add(list.get(i));<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />        }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        list.removeAll(localList);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        print();<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />    }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" /><br /><img id="Codehighlighter1_764_1024_Open_Image" onclick="this.style.display='none'; Codehighlighter1_764_1024_Open_Text.style.display='none'; Codehighlighter1_764_1024_Closed_Image.style.display='inline'; Codehighlighter1_764_1024_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_764_1024_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_764_1024_Closed_Text.style.display='none'; Codehighlighter1_764_1024_Open_Image.style.display='inline'; Codehighlighter1_764_1024_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif">    </span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> safeDeletionTopByCountMethod4(</span><span style="color: #0000ff">int</span><span style="color: #000000"> count) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_764_1024_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_764_1024_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">*********safeDeletionTopByCountMethod4*********</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        List</span><span style="color: #000000"><</span><span style="color: #000000">String</span><span style="color: #000000">></span><span style="color: #000000"> localList </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> ArrayList</span><span style="color: #000000"><</span><span style="color: #000000">String</span><span style="color: #000000">></span><span style="color: #000000">();<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        localList.addAll(list);<br /><img id="Codehighlighter1_951_1010_Open_Image" onclick="this.style.display='none'; Codehighlighter1_951_1010_Open_Text.style.display='none'; Codehighlighter1_951_1010_Closed_Image.style.display='inline'; Codehighlighter1_951_1010_Closed_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_951_1010_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_951_1010_Closed_Text.style.display='none'; Codehighlighter1_951_1010_Open_Image.style.display='inline'; Codehighlighter1_951_1010_Open_Text.style.display='inline';" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif">        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> count; i</span><span style="color: #000000">++</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_951_1010_Closed_Text"><img alt="" src="http://m.tkk7.com/Images/dot.gif" /></span><span id="Codehighlighter1_951_1010_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            String str </span><span style="color: #000000">=</span><span style="color: #000000"> localList.get(i);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />            list.remove(str);<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />        }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" />        print();<br /><img alt="" align="top" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />    }</span></span></div>浜巌ndex涓?錛屾墍浠tr2浼氳鍒犻櫎錛涗綘鍙互鑷繁鍘繪帹綆椾竴涓嬬粨鏋溿?br />濡備綍瑙e喅榪欎釜闂鍛紝絎旇呭湪涓婇潰緇欏嚭浜?縐嶆柟娉曚緵澶у鍙傝冿紝鏈鍚庣粰鍑轟簡瀹屾暣鐨勪唬鐮併?br />*****************************************************************************<br /> <p><font face="Verdana">package com.lpx.collection;</font></p> <p><font face="Verdana">import java.util.ArrayList;<br />import java.util.List;</font></p> <p><font face="Verdana">public class TestArrayDeletion {</font></p> <p><font face="Verdana"> private List<String> list = null;<br /> public static String[] array = { "str0", "str1", "str2", "str3", "str4",<br />   "str5" };</font></p> <p><font face="Verdana"> public TestArrayDeletion() {<br />  super();<br />  list = new ArrayList<String>();<br /> }</font></p> <p><font face="Verdana"> /**<br />  * @param args<br />  */<br /> public static void main(String[] args) {<br />  TestArrayDeletion arrayDeletion = new TestArrayDeletion();<br />  arrayDeletion.initList();<br />  arrayDeletion.unSafeDeleteTopByCount(3);</font></p> <p><font face="Verdana">  arrayDeletion.initList();<br />  arrayDeletion.unSafeDeleteTopByCount(4);</font></p> <p><font face="Verdana">  arrayDeletion.initList();<br />  arrayDeletion.safeDeletionTopByCountMethod1(4);</font></p> <p><font face="Verdana">  arrayDeletion.initList();<br />  arrayDeletion.safeDeletionTopByCountMethod2(4);</font></p> <p><font face="Verdana">  arrayDeletion.initList();<br />  arrayDeletion.safeDeletionTopByCountMethod3(4);</font></p> <p><font face="Verdana">  arrayDeletion.initList();<br />  arrayDeletion.safeDeletionTopByCountMethod4(4);</font></p> <p><font face="Verdana"> }</font></p> <p><font face="Verdana"> private void initList() {<br />  list.clear();<br />  for (String str : array) {<br />   list.add(str);<br />  }<br /> }</font></p> <p><font face="Verdana"> private void print() {<br />  for (String str : list) {<br />   System.out.println(str);<br />  }<br /> }</font></p> <p><font face="Verdana"> private void unSafeDeleteTopByCount(int count) {<br />  System.out.println("*********unSafeDeleteTopByCount*********");<br />  try {<br />   for (int i = 0; i < count; i++) {<br />    list.remove(i);<br />   }<br />  } catch (Exception e) {<br />   e.printStackTrace();<br />  } finally {<br />   print();<br />  }<br /> }</font></p> <p><font face="Verdana"> private void safeDeletionTopByCountMethod1(int count) {<br />  System.out.println("*********safeDeletionTopByCountMethod1*********");<br />  for (int i = count - 1; i >= 0; i--) {<br />   list.remove(i);<br />  }<br />  print();<br /> }</font></p> <p><font face="Verdana"> private void safeDeletionTopByCountMethod2(int count) {<br />  System.out.println("*********safeDeletionTopByCountMethod2*********");<br />  for (int i = 0; i < count; i++) {<br />   list.remove(0);<br />  }<br />  print();<br /> }</font></p> <p><font face="Verdana"> private void safeDeletionTopByCountMethod3(int count) {<br />  System.out.println("*********safeDeletionTopByCountMethod3*********");<br />  List<String> localList = new ArrayList<String>();<br />  for (int i = 0; i < count; i++) {<br />   localList.add(list.get(i));<br />  }<br />  list.removeAll(localList);<br />  print();<br /> }</font></p> <p><font face="Verdana"> private void safeDeletionTopByCountMethod4(int count) {<br />  System.out.println("*********safeDeletionTopByCountMethod4*********");<br />  List<String> localList = new ArrayList<String>();<br />  localList.addAll(list);<br />  for (int i = 0; i < count; i++) {<br />   String str = localList.get(i);<br />   list.remove(str);<br />  }<br />  print();<br /> }<br />}<br /></font></p><img src ="http://m.tkk7.com/silvermyth/aggbug/351944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/silvermyth/" target="_blank">Gavin Li</a> 2011-06-08 23:28 <a href="http://m.tkk7.com/silvermyth/articles/351944.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://gzjing365.com" target="_blank">久久精品国产亚洲av麻豆蜜芽 </a>| <a href="http://0453wcbyy.com" target="_blank">日本视频免费观看</a>| <a href="http://zgdhuibao.com" target="_blank">5g影院5g天天爽永久免费影院 </a>| <a href="http://bjgelinhotel.com" target="_blank">亚洲大尺度无码专区尤物</a>| <a href="http://pencilinside.com" target="_blank">亚洲av无码成人影院一区</a>| <a href="http://633223.com" target="_blank">国内精品免费麻豆网站91麻豆</a>| <a href="http://626393.com" target="_blank">亚洲国产精品一区二区成人片国内</a>| <a href="http://changfafangzhi.com" target="_blank">中文字幕免费观看</a>| <a href="http://www-64000.com" target="_blank">久久精品国产亚洲</a>| <a href="http://fuhui123.com" target="_blank">3344在线看片免费</a>| <a href="http://51nianyefan.com" target="_blank">国产精品亚洲不卡一区二区三区</a>| <a href="http://vod8090.com" target="_blank">亚洲免费网站观看视频</a>| <a href="http://ulihix.com" target="_blank">国产福利在线观看免费第一福利</a>| <a href="http://wwwaa875.com" target="_blank">99人中文字幕亚洲区 </a>| <a href="http://s88s88.com" target="_blank">中文字幕亚洲激情</a>| <a href="http://cct68.com" target="_blank">中文字幕的电影免费网站</a>| <a href="http://w6336.com" target="_blank">亚洲精品一级无码鲁丝片</a>| <a href="http://5ggy.com" target="_blank">日本激情猛烈在线看免费观看</a>| <a href="http://266hd.com" target="_blank">久久久久久a亚洲欧洲AV</a>| <a href="http://jnyygs.com" target="_blank">999久久久免费精品播放</a>| <a href="http://400209.com" target="_blank">亚洲视频一区二区三区</a>| <a href="http://www321fafa.com" target="_blank">久久精品国产免费观看 </a>| <a href="http://xianfeng-motor.com" target="_blank">国产免费播放一区二区</a>| <a href="http://hljc988.com" target="_blank">久久久亚洲精品蜜桃臀</a>| <a href="http://rr433.com" target="_blank">久久精品a一国产成人免费网站</a>| <a href="http://zanyoo.com" target="_blank">亚洲成a人片在线看</a>| <a href="http://sshc5.com" target="_blank">国产美女做a免费视频软件</a>| <a href="http://htsp777.com" target="_blank">亚洲国产成人手机在线观看</a>| <a href="http://jogador1.com" target="_blank">免费一级毛片在线播放不收费</a>| <a href="http://dasheng178.com" target="_blank">国产综合激情在线亚洲第一页 </a>| <a href="http://xzdlgp.com" target="_blank">免费黄色毛片视频</a>| <a href="http://rr433.com" target="_blank">18禁亚洲深夜福利人口</a>| <a href="http://sdhgjscl.com" target="_blank">亚洲欧洲国产成人综合在线观看</a>| <a href="http://www24ckck.com" target="_blank">18勿入网站免费永久</a>| <a href="http://ccc321.com" target="_blank">久9热免费精品视频在线观看</a>| <a href="http://yongyihongze.com" target="_blank">久久久久久亚洲精品成人</a>| <a href="http://455zx.com" target="_blank">亚洲伊人久久成综合人影院</a>| <a href="http://sflhb.com" target="_blank">国产精品美女自在线观看免费 </a>| <a href="http://yy6636.com" target="_blank">亚洲黄色在线网站</a>| <a href="http://by2988.com" target="_blank">亚洲国产精品va在线播放</a>| <a href="http://gjwlgzs.com" target="_blank">亚洲综合精品网站</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>