博观而约取,厚积而薄发。这篇文章主要讲述Java知识弥补-Android开发相关的知识,希望能为你提供帮助。
目录
- 数据结构
- 1. Map-HashMap
- 2. StringBuilder
- 3. List-ArrayList
- 4. Vector
- 5. Stack
- 6. Set
Java API
数据结构 1. Map-HashMap
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Collection;
Map<
Integer,String>
m1=new HashMap<
Integer,String>
();
for(int i = 0 ;
i <
10 ;
i++){
m1.put(i,String.format("
test%d"
,i));
}
System.out.println(m1);
Set<
Map.Entry<
Integer,String>
>
set=m1.entrySet();
for(Map.Entry<
Integer,String>
entry:set){
System.out.println(entry.getKey() + "
:"
+ entry.getValue());
}//查找某一个key对应的value
m1.get(key);
//判断是否存在
m1.containsKey(4);
m2.containsValue("
test"
);
Set<
Integer>
keys=m1.keySet();
Collection<
String>
values = m1.values();
//删除key对应的一对键值
m1.remove(key);
2. StringBuilder
//主要操作是append 和 insert方法
StringBuilder<
String>
sb = new StringBuilder<
String>
();
sb.append("
test"
);
int sb.capacity();
//返回当前容量
char sb.charAt(int index);
//得到对应的char值
int sb.codePointAt(int index);
//返回索引处字符
StringBuilder sb.deleteCharAt(int index);
//删除某处的字符
//通常是start和end是与sb.length()相关的
StringBuilder sb.delete(int start,int end);
//查找指定字符串
int sb.indexOf(String str);
//插入
StringBuilder sb.insert(int offset,String str);
StringBuilder sb.reverse();//翻转
StringBuilder sb.replace(int start,int end,String str);
//替换操作
void trimToSize();//尝试减少字符序列存储空间
String sb.toString();//返回字符串表示形式
3. List-ArrayList
List:大小可变数组
boolean |
addAll (Collection<
? extends E>
c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。 |
---|---|
boolean |
addAll (int index, Collection<
? extends E>
c) 从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。 |
void |
clear () 移除此列表中的所有元素。 |
Object |
clone () 返回此 ArrayList 实例的浅表副本。 |
boolean |
contains (Object o) 如果此列表中包含指定的元素,则返回 true 。 |
void |
ensureCapacity (int minCapacity) 如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。 |
E |
get (int index) 返回此列表中指定位置上的元素。 |
int |
indexOf (Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。 |
boolean |
isEmpty () 如果此列表中没有元素,则返回 true |
int |
lastIndexOf (Object o) 返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。 |
E |
remove (int index) 移除此列表中指定位置上的元素。 |
boolean |
remove (Object o) 移除此列表中首次出现的指定元素(如果存在)。 |
protectedvoid |
removeRange (int fromIndex, int toIndex) 移除列表中索引在 fromIndex (包括)和 toIndex (不包括)之间的所有元素。 |
E |
set (int index, E element) 用指定的元素替代此列表中指定位置上的元素。 |
int |
size () 返回此列表中的元素数。 |
Object[] |
toArray () 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。 |
<
T>
T[] |
toArray (T[] a) 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。 |
void |
trimToSize () 将此 ArrayList 实例的容量调整为列表的当前大小。 |
import java.util.*;
import java.util.List;
import java.util.Vector;
Vector<
String>
vec = new Vector<
String>
();
String[] arr1={"
a"
,"
b"
,"
c"
,"
d"
};
Vector<
String>
vec2 = new Vector<
String>
(Arrays.asList(arr1));
//如何遍历
Enumeration<
String>
iter = vec.elements();
while(iter.hasMoreElements()){
System.out.println(iter.nextElement());
}//其他一些属性:
vec.capacity();
//vector容量
vec.size();
//vector大小
vec.isEmpty();
//是否为空
vec.setSize(15);
//设置size
vec.trimToSize();
//压缩到Size
vec.hashCode();
//哈希码
vec.equals(vec2);
//相等//增删改查
//增
vec.add(0,"
addthing"
);
i=0
vec.add(String.format("
%d"
,i))//从尾部添加String
vec.addAll(3,vec2)//从第3个元素,添加另外一个vector(如果没有3那就从尾部插入)
vec.add(8,"
test"
)//在第8个位置添加“test”
vec.insertElementAt("
test"
,3)//从第三个位置开始插入test//删
vec.remove("
deletething"
);
//删字符串
vec.removeElementAt(2);
//删第2个位置上的字符
vec.removeAllElements();
//全部删掉 = clear()//改
vec.set(0,"
start"
);
//设置第0位置为start字符串//查
//取某一位数据
String str=vec.get(3);
//vec的第三个位置的内容
String str=vec.firstElement();
String str=vec.lastElement();
5. Stack
Stack继承自Vector,所以继承了全部的方法,下面介绍特有的方法:
Stack<
Integer>
s = new Stack<
Integer>
();
for(int i = 0 ;
i <
10 ;
i++){
s.push(i);
}
//压栈
s.push(10);
//取顶
s.peek();
//弹出顶
Integer top = s.pop();
//查找
s.search(3);
//找不到返回-1,找到则返回从后往前数的第几位(从栈顶开始数)
6. Set
import java.util.ArrayList;
import java.util.Set;
public static void setDemo() {
int[] nums = new int[] {1, 4, 8, 3, 22, 34, 4, 6, 0, 33, 5, 6, 3, 9};
List list = new ArrayList();
for (int i:nums) {
list.add(i);
}
System.out.println(list);
//[1, 4, 8, 3, 22, 34, 4, 6, 0, 33, 5, 6, 3, 9]
Set<
Integer>
set = new HashSet<
Integer>
();
//remove duplicate elements
set.addAll(list);
System.out.println(set);
//[0, 1, 33, 34, 3, 4, 5, 22, 6, 8, 9]
set.add(4);
//4 is a duplicate element, so this will not take effect
System.out.println(set);
//[0, 1, 33, 34, 3, 4, 5, 22, 6, 8, 9]
System.out.println(set.size());
//11
}
推荐阅读
- apply, call , bind
- h5打开App的方法。
- 安卓app开发-04- app运行的运行和调试
- 安卓app开发-05-Android xml布局详细介绍
- Android studio使用android:style/Theme.Dialog报错:You need to use a Theme.AppCompat theme (or descendant)
- Android Intent Service
- android studio connot resolve
- SpringBoot解决测试环境,生产环境使用不同application.properties的问题
- android -------- Data Binding的使用 ( 六) 自定义属性