編輯:關於Android編程
package cc.testsparsearray; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import android.os.Bundle; import android.util.SparseArray; import android.app.Activity; /** * Demo描述: * SparseArray使用示例 * 利用SparseArray替換使用HashMap<Integer,E> * 類似的還有SparseIntArray,SparseBooleanArray,LongSparseArray * * 參考資料: * 1 http://liuzhichao.com/p/832.html * 2 http://blog.csdn.net/xyz_fly/article/details/7931943 * 3 http://my.eoe.cn/appadventure/archive/2824.html * Thank you very much */ public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void init(){ SparseArray sparseArray=new SparseArray<String>(); //增加的兩種方式 sparseArray.append(0, "This is 0"); sparseArray.append(1, "This is 1"); sparseArray.append(2, "This is 2"); sparseArray.put(3, "This is 3"); sparseArray.put(4, "This is 4"); //遍歷 for (int i = 0; i < sparseArray.size(); i++) { System.out.println("遍歷得到位置"+i+"的值為:"+sparseArray.get(i)); } //查找某個位置的鍵 int key =sparseArray.keyAt(1); System.out.println("查找位置1處的鍵 key="+key); //查找某個位置的值 String value=(String) sparseArray.valueAt(1); System.out.println("查找位置1處的值 value="+value); //修改的兩種方式 sparseArray.put(0, "This is new 0"); sparseArray.put(1, "This is new 1"); sparseArray.setValueAt(2, "This is new 2"); sparseArray.setValueAt(3, "This is new 3"); for (int i = 0; i < sparseArray.size(); i++) { System.out.println("修改後遍歷得到位置"+i+"的值為:"+sparseArray.get(i)); } //刪除 sparseArray.delete(0); System.out.println("刪除操作後sparseArray大小 size="+sparseArray.size()); //注意: //在執行刪除後sparseArray的size()減小了1 //為了遍歷完,應該將循環條件修改為i < sparseArray.size()+1 //HashMap也有類似的情況.參見分割線以下的例子 //如果關於SparseArray的遍歷有什麼好的方法或者建議,多謝 for (int i = 0; i < sparseArray.size()+1; i++) { System.out.println("刪除後遍歷得到位置"+i+"的值為:"+sparseArray.get(i)); } System.out.println("//////////////這是分割線////////////////"); HashMap<Integer, String> hashMap=new HashMap<Integer, String>(); hashMap.put(0, "000"); hashMap.put(1, "111"); hashMap.put(2, "222"); hashMap.put(3, "333"); hashMap.put(4, "444"); for (int i = 0; i < hashMap.size(); i++) { System.out.println("HashMap遍歷得到位置"+i+"的值為:"+hashMap.get(i)); } hashMap.remove(Integer.valueOf(0)); System.out.println("刪除操作後hashMap大小 size="+hashMap.size()); //注意: //在執行刪除後hashMap的size()減小了1 //為了遍歷完,應該將循環條件修改為i < hashMap.size()+1 for (int i = 0; i < hashMap.size()+1; i++) { System.out.println("HashMap遍歷得到位置"+i+"的值為:"+hashMap.get(i)); } //但是這樣做是意義不大的,我們常用的是利用keySet來遍歷,如下: Set<Integer> set = hashMap.keySet(); for (Iterator<Integer> iter = set.iterator(); iter.hasNext();) { Integer keyTemp = iter.next(); String valueTemp = hashMap.get(keyTemp); System.out.println("利用keySet遍歷:"+keyTemp + "的值是" + valueTemp); } } }
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SparseArray使用示例" android:layout_centerInParent="true" /> </RelativeLayout>
在上家干了快2年辭職後在家休息了快一個月了,說實在的不上班的感覺爽(睡覺睡到自然醒,游戲玩到手抽筋)。哈哈,又是快到一年過中秋的時候了,好久沒有更新博客了,今天順便撸一篇
前言這段時間研究了下以前做app開發的時候並沒有太過關注的JCenter倉庫,在實際開發當中通常都是使用第三方開發者上傳到jcenter的library,而我們使用的這些
Fragment是android3.0引入的,為什麼google推出Fragment呢?主要目的是用在大屏幕設備上--例如平板電腦上,支持更加動態和靈活的UI設計。平板電
android加密算法很多:DES ,AES,3DES等等。詳情請google,baidu。des的使用安全行很低,再次我們詳細了解下3DES.3DES顧名思義,就是對d