hashmap
- 1 hashmap
- 1.1 hashmap基础使用
- 1.2 遍历hashmap
- 2 ArrayList
- 2.1 ArrayList基础使用
- 2.2 ArrayList遍历
|--> Collection接口: 单列集合,用来存储一个一个对象。--> list接口:存储有序,可重复的数据。--> ArrayList、LinkList vector--> Set接口: 存储有序,可重复的数据。--> HashSet TreeSet LinkedHashSet
|--> map接口: 双列集合,用来存储一对key-value的数据--> HashMap LinkedHashMap TreeMap HashTable
1 hashmap
HashMap基于Map接口实现,数据元素以key-value的形式存在,是由数组加链表组合实现。
map就是用于存储键值对(<key,value>)的集合类,也可以说是一组键值对的映射(数学概念)。
在java中map是一个接口,是和collection接口同一等级的集合根接口。
HashMap是用哈希表(直接一点可以说数组加单链表)+红黑树实现的map类。
1.1 hashmap基础使用
//hashmap 不重复
HashMap<Integer, String> hsmap = new HashMap();
//删除所有元素de键值对
hsmap.clear();
System.out.println(hsmap);
//判断hashmap是否为空
System.out.println(hsmap.isEmpty());
//添加
hsmap.put(1, "lily");
hsmap.put(2, "hellen");
hsmap.put(3, "kevin");
hsmap.put(4, "kevin");
hsmap.put(5, "");
hsmap.put(6, "ivy");
System.out.println(hsmap);
//获取值
System.out.println(hsmap.get(6));
//修改元素
hsmap.replace(6,"world");
System.out.println(hsmap);
//删除元素
hsmap.remove(1);
System.out.println(hsmap);
//大小
System.out.println(hsmap.size());
//是否包含键值对
if (hsmap.containsKey(4)){System.out.println("key 为 4 存在于 hashmap 中");
}if (hsmap.containsValue("kevin")){System.out.println("value 为 kevin 存在于 hashmap 中");
}
1.2 遍历hashmap
使用iterator遍历就略;
//遍历法1:hashmap 普遍,1万以下使用
for (Map.Entry<Integer,String> i: hsmap.entrySet()){System.out.println(i.getKey());System.out.println(i.getValue());
}//遍历法2: 一般只是访问 :普遍,1万以下使用
for (int key: hsmap.keySet()){System.out.println(key);system.out.println("key:"+key);
}
for (String values: hsmap.values()){System.out.println(values);
}
2 ArrayList
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
ArrayList 继承了 AbstractList ,并实现了 List 接口。
ArrayList: 特点: 有序、不唯一 数据结构: Object数组 ArrayList:包装类。
2.1 ArrayList基础使用
ArrayList<Integer> arl = new ArrayList<>();
System.out.println(arl);
//添加元素
arl.add(123);
arl.add(90213);
arl.add(789);
arl.add(789);
System.out.println(arl); //[123, 90213, 789, 789]
//获取元素
System.out.println(arl.get( arl.size()-1 ) );
//删除元素
System.out.println(arl.remove(2));
//计算大小
System.out.println(arl.size()); //4
//排序
Collections.sort(arl); //升序
System.out.println(arl);
2.2 ArrayList遍历
//遍历1:
for (int i: arl){System.out.println(i);
}
//遍历2:
for (int i = 0; i < arl.size(); i++) {System.out.println(arl.get(i));
}