集合类型:
集合类型主要有三种,List,Set以及Map。其中三种均为泛型方式,所以声明变量时,直接带上泛型。
1、List<T>
List代表一类的有序数据列表。数据序号从0开始。与JAVA不同的是:List是一个类,并且不存在ArrayList等子类。即实例化
eg:List<String> list1 = new List<String>();
List可以通过自身构造函数实例化,也可以通过数组进行实例化。
注:set()方法在设置插入位置以前应确保长度大于需要插入的位置,否则将抛出异常。
以下为List主要方法:
```
List<String> lists = new String[]{'1','3'};
List<String> list1 = new String[] {'5','4'};
lists.set(0,'a');
lists.add(0,'b');
lists.add('2');
lists.addAll(list1);
//lists.sort();
for(String item : lists) {
System.debug('item : ' + item);
}
Iterator<String> iterator = lists.iterator();
while(iterator.hasNext()) {
String item = iterator.next();
System.debug('通过iterator遍历:'+ item);
}
if(lists.size() > 0) {
Integer listSize = lists.size();
lists.remove(listSize-1);
}
List<String> cloneList = lists.clone();
for(Integer i=0;i<cloneList.size();i++) {
System.debug('cloneListItem : ' + cloneList.get(i));
}
lists.clear();
if(lists.size() > 0) {
for(String item : lists) {
System.debug('set item : ' + item);
} else {
System.debug('lists has already clear');
}
```
2、Set<T>
Set代表一类数据的无序列表。与JAVA不同的是:Set是一个类,不存在HashSet等子类。即实例化
eg:Set<String> set1 = new Set<String>();
Set主要方法如下:
```
Set<String> set1 = new Set<String>();
set1.add('1');
set1.add('2');
Set<String> set2 = set1.clone();
Boolean isEquals = set1.equals(set2);
Boolean isContains = set1.contains('1');
Integer setSize = set1.size();
Iterator<String> iterator2 = set1.iterator();
while(iterator2.hasNext()) {
System.debug('set item:' + iterator2.next());
}
Boolean isEmpty = set1.isEmpty();
//set1.remove('1');
List<String> anotherList = new String[] {'1','3'};
/*
public Boolean retainAll(List<Object> list)
//译:set值为list中和set重复的内容,如果没有重复的内容,则set为空
*/
set1.retainAll(anotherList);
Iterator<String> iterator3 = set1.iterator();
while(iterator3.hasNext()) {
System.debug('set item via retainAll:' +
iterator3.next());//1,List与Set公共部分
}
```
3、Map<K,V>
Map代表着键值对,与JAVA用法类似,区别为Map是一个类,不是接口,不存在HashMap<K,V>等子类
Map主要方法如下:
```
Map<String,Object> map1 = new Map<String,Object>();
map1.put('key1','value1');
map1.put('key2','value2');
map1.put('key3','value3');
Boolean isContainsKey = map1.containsKey('key1');
Map<String,Object> map2 = map1.clone();
Boolean isMapEquals = map1.equals(map2);
Set<String> keySet = map1.keySet();
String value1 = (String)map1.get('key1');
List<String> valuesList = (List<String>)map1.values();
Integer mapSize = map1.size();
```