集合collection
集合的功能:
增删改查(可能有一个,以可能有全部。)
方法代码如下
package com.sxt.list;
import java.util.ArrayList;
import java.util.Iterator;
import org.junit.Test;
public class ListTest {
public static void main(String[]args){
ArrayList<Integer> arr=new ArrayList<Integer>();
//.add();添加元素
arr.add(100);
arr.add(98);
arr.add(88);
arr.add(78);
//.add(0,0);向下标为0的位置插入一个数
arr.add(0, 85);
System.out.println("集合中的元素为"+arr);
//移除列表所有的元素
//arr.clear();
//System.out.println("移除后"+arr);
//列表包含指定的元素(有返回true否则false)
boolean b = arr.contains(5);
System.out.println("集合中是否含有该元素"+b);
//返回元素中指定的下标的值
Integer k = arr.get(2);
System.out.println(k);
//返回列表中的元素如果没有返回-1有的话返回下标
int of = arr.indexOf(8);
System.out.println(of);
//列表中是否有值有的话返回false否择返回true
System.out.println("是否为空"+arr.isEmpty());
//根据下标移除列表中的元素
arr.remove(2);
System.out.println("移除后"+arr);
//列表中的元素个数
int size = arr.size();
System.out.println("个数为"+size);
//遍历for循环遍历
for(int i=0;i<arr.size();i++){
System.out.println(arr.get(i));
}
System.out.println("=========================");
//增强for循环遍历
for(Object ia:arr){
System.out.println(ia);
}
System.out.println("===================");
//迭代器 循环
Iterator<Integer> it=arr.iterator();
while(it.hasNext()){
Integer next = it.next();
System.out.println(next);
}
}
}
集合分为 list set map
分别特行:
List接口存储一组不唯一的,有序的(按插入顺序)的对象。
{List分为ArrayList和LinkedList
优缺点:
ArrayList:遍历元素和随机访问元素的效率比较高。(内部是现实数组)
添加和删除需要大量移动元素效率低按照内容查询效率低。(线程安全,效率低)
LinkedList:采用链表贮存的,插入删除效率高,
遍历和随机访问效率低。(线程不安全,效率高)
}
Set接口存储一组唯一,无序()对象。
{HashSet:hash表集合,查询删除快,遍历和随机效率低。
LinkedHashSet(最好的)
TreeSet(红黑二叉树组成比ArrayList快,比HashSer慢)
}
Map(存放一组键值)
key 唯一,无序(Set)
valup 不唯一 ,有序
分为:
HashMap
TreeMap
LinkepHash
HasTable
package com.sxt.Map.HashMap;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* 我的map的HashMap测试类
*
* @author Administrator
*
*/
public class MyMapHashMapTest {
public static void main(String[] args) {
Map<String, String> mp = new HashMap<String, String>();
mp.put("n", "name");
mp.put("s", "sex");
mp.put("k", "key");
mp.put("j", "java");
mp.put("c", "java");
int size = mp.size();
System.out.println("元素有"+size+"个");
boolean key = mp.containsKey("s");
System.out.println("是否包涵这个键值"+key);
System.out.println("==========================");
Collection<String> values = mp.values();
int ge=0;
for(String s:values){
ge++;
System.out.println("遍历第"+ge+"个values值是"+s);
}
System.out.println("==========================");
Set<String> set2 = mp.keySet();
int ge1=0;
for(String k:set2){
ge1++;
System.out.println("遍历第"+ge1+"个key值是"+k);
}
System.out.println("==========================");
boolean b = mp.isEmpty();
System.out.println("判断是是否为空" + b);
System.out.println("==========================");
String s = mp.get("n");
System.out.println("获取值为" + s);
System.out.println("==========================");
String s1 = mp.remove("j");
System.out.println("删除值为" + s1);
System.out.println("==========================");
/*
* Set<String> set2 = mp.keySet(); for(String key:set2){
* System.out.println(key+"========"+mp.get(key)); }
*/
Set<Map.Entry<String, String>> set = mp.entrySet();
Iterator<Entry<String, String>> i = set.iterator();
while (i.hasNext()) {
Map.Entry<String, String> next = i.next();
System.out.println(next.getKey() + "=========" + next.getValue());
}
}
}