原创 淺析HashMap與ConcurrentHashMap的線程安全性

本文要解決的問題: 最近無意中發現有很多對Map尤其是HashMap的線程安全性的話題討論,在我的理解中,對HashMap的理解中也就知道它是線程不安全的,以及HashMap的底層算法採用了鏈地址法來解決哈希衝突的知識,但是對其線程安全性

原创 字符串分隔

題目要求:連續輸入字符串,請按長度爲8拆分每個字符串後輸出到新的字符串數組; 長度不是8整數倍的字符串請在後面補數字0,空字符串不處理,記錄一個特別精妙的算法。 import java.util.*; /* * 連續輸入字符串,請按長

原创 Android向sdCard中寫文件

這幾天在做項目時候,需要將一些數據存儲在sd卡中,之前沒實現過,今天參照網上的一些教程實現了一下,很簡單的.特此記錄一下.寫一個小的demo,要實現的功能就是將一個字符串寫入到文件中,將這個文件保存到sd卡中,再將這個字符串從sd卡中讀取

原创 找出數組中出現次數最多的數字&找出數組中只出現一次的數字

用map存儲,key爲數組中的元素,value爲元素出現的次數,若數組中的元素都只出現了一次,則map.put(num[i],1),否則,每當檢測到map中的key已經包含有數組元素時,將map中與之的value值加1,表示次數+1,最後

原创 在Manifest中註冊ContentProvider的寫法和含義

最近在做項目時候,使用到了ContentProvider來共享數據,使用ContentProvider時候,必須在Manifest文件中進行註冊,類似於這樣 <provider android:authorities=

原创 Android Studio 快捷鍵(轉)

Alt+回車 導入包,自動修正 Ctrl+N 查找類 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代碼 Ctrl+Alt+O 優化導入的類和包 Alt+Insert 生成代碼(如get,set方法,構造

原创 實現二叉排序樹

二叉排序樹,即二叉查找樹,它具有如下的特點: 如果左子樹不爲空,那麼左子樹上的所有結點均小於它的根節點的值。 如果右子樹不爲空,那麼右子樹上的所有結點均大於它的根節點的值。 左右子樹也分別爲二叉排序樹。 二叉排序樹的代碼如下所示:

原创 實現單鏈表中的增刪查改(2)

今天親手寫了一次單鏈表的增刪查功能,實現了~ package link; /* * 實現一個單鏈表的增刪查改 */ class Node<E>{ Node<E>next; E data; public Nod

原创 Android利用代碼開啓關閉飛行模式

今天做項目時候,需要用到代碼來開關Android的飛行模式,其實比較簡單啦,哦,在4.2之前. 在Android中設置飛行狀態是用BroadCast的,可以通過發送action爲”Intent.ACTION_AIRPLANE_MODE_

原创 Java棧的兩種實現方式

用數組和鏈表兩種方式來實現了棧 首先來看用數組實現的,比較簡單 import java.util.Arrays; /* * 用數組來實現一個棧 * 棧:後進先出 * 主要有push pop peek isEmpty * pe

原创 用時間複雜度O(1)的算法求棧中的最小元素

總體思想是以空間來換時間,設置兩個棧,其中一個棧放元素,一個棧放最小的值,在push時,判斷新push進去的元素和原先棧中的元素哪個小,小的纔有資格入棧;在pop元素時候,要記得將存放最小值的棧的棧頂元素也pop出來。很簡單。棧的實現用鏈

原创 隊列的兩種實現方式

和棧類似,用數組和鏈表來實現了了隊列 首先是數組實現的; /* * 用數組實現一個隊列 * 未處理邊界情況 */ public class MyQueue<E> { int size; int i=0;//隊列頭

原创 Android中checkbox實現重置

今天在實現某個小功能時候,涉及到了CheckBox,在一個頁面上寫了20個複選框了,很多,要寫一個重置的按鈕,當按下按鈕之後可以實現將複選框中的對勾全部去掉,正好,在之前我已經將我的這20個checkbox放入一個list中了。 publ

原创 Android在Listview的一個item中設置多個控件

最近在做項目時候,遇見一個需求,聽上去還聽簡答的,Listview中肯定是有很多個item的,如何在每個item中設置多個按鈕呢?設置一個的很簡答,但是設置兩個三個以及多個的呢?肯定是自己重新定義item佈局再重寫adpter了啦~實現出

原创 Kotlin 成了 Android 開發的官方語言

Java 和 C++ 之後,Google 在 I/O 2017 上宣佈 Android 加入了對 Kotlin 編程語言的支持。Kotlin 由 Java 集成開發環境 IntelliJ IDEA 的開發商 JetBrains 開發,20