java集合篇总结
来源:互联网 发布:淘宝关键词采集 编辑:程序博客网 时间:2024/06/05 11:18
相信初学小伙伴们对于java的集合学的也是一脸懵逼,下面我就为大家总结一下三大集合常用方法及遍历集合的方法
Collection接口
=====================================================================
一、List接口常用的三种实现类: ArrayList 动态数组形式实现集合
VectorLinklist 链表形式实现数组
例子: List list = new Array();
常用方法:
void add(int index,Object o)在指定位置插入元素
void clear() 删除所有元素
boolean contains(Object o)查看列表中是否有指定的元素
Object get(index)获得指定位置的元素
int indexOf(Object o)获得元素的索引值没有返回-1
boolean isEmpty 如果列表中不包含元素返回true
Iteractor()返回列表元素的迭代对象
remove(int index)删除指定位置的元素
set(int index,Object o)替换指定位置的元素
size() 返回列表元素数的大小
subList(int startpos , int stoppos)返回[startpos,stoppos]中间的元素
List的遍历方法:增强型for循环,迭代器(Iterator)
package test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class LIstTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
//添加元素的方法
list.add("aa");
list.add("bb");
list.add("cc");
list.add(3, "dd");
//查询类的方法
System.out.println("contains方法"+list.contains("aa"));
System.out.println("bb元素的索引值"+list.indexOf("bb"));
System.out.println("获得2对应的值"+list.get(2));
System.out.println("判断集合是否为空"+list.isEmpty());
System.out.println("集合的大小"+list.size());
//修改集合元素的方法
System.out.println("修改2对应的值"+list.set(2,"ee"));
//删除集合元素的方法
System.out.println("删除2对应的元素"+list.remove(2));
//遍历List集合的方法
//方式一:for循环
for(String str : list)
{
System.out.println("第"+list.indexOf(str)+"个元素是"+str);
}
//方式二:迭代器
Iterator<String> iterator = list.iterator();
while(iterator.hasNext())
{
String temp = iterator.next();
System.out.println("第"+list.indexOf(temp)+"个元素是"+temp);
}
//清除所有元素
list.clear();
System.out.println("判断集合是否为空"+list.isEmpty());
}
}
==============================================================
Set接口的三种实现类
HashSet:不包含重复元素的集合,无序,可以放入null,只能放一个;TreeSet:二叉树形式实现集合
例子:Set set = new HashSet();
Set set = new TreeSet();
常用方法:
void add(Object o);添加元素
void clear()移除set中的所有元素
boolean contains(object o)查看集合中是否村子该元
iterator()获得集合迭代对象
int size()获得集合元素个数
Set遍历方法:
迭代器(Iterator)
package test;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
//添加类方法
set.add("aa");
set.add("bb");
set.add("cc");
//查询类方法
System.out.println("查看是否存在bb元素"+set.contains("bb"));
System.out.println("查看集合大小"+set.size());
System.out.println("判断集合是否为空"+set.isEmpty());
//因为Set集合是无序的所以无法通过类似索引的方法修改
//删除类方法
System.out.println("删除cc元素"+set.remove("cc"));
//Set集合的遍历方法
Iterator<String> iterator = set.iterator();
while(iterator.hasNext())
{
System.out.println("set集合的元素"+iterator.next());
}
//清除所有元素
set.clear();
System.out.println("查看集合是否为空"+set.isEmpty());
}
}
set和list的区别
存储:set存储无序,不重复的元素,list存储重复,有序的元素;
效率:list的查询效率更高,插入时会改变其他元素的位置,插入效率低,set查询效率低,插入效 率高;
迭代器(Iterator接口):
概述:由于集合内元素类型的不同,很难遍历,所以集合内每个元素都有一个迭代器对象,通过获 得迭代器对象,可以轻松地遍历集合,并且对元素进行操作;增强型for循环的底层也是迭代 器实现
例:List list = new ArratList();
Iterator iterator = list.iterator();
常用方法:
boolean hasNext() 遍历时判断是否有下一个元素
next() 返回迭代的下一个元素
void remove() 删除迭代器指向的集合元素
=============================================================================================================
Map 以键值对方式存储元素的集合
Map map = new HashMap();
Map map = new Hashtable();
HashMap 允许使用NULL值和NULL键
Hashtable 任何非null的对象都可以用做键或元素值
TreeMap
常用方法:
void clear()从此映射中移除所有映射关系
boolean containsKey(object key)查看是否存在该键
boolean containsValue(Object value) 查看是否存在该值
Set entrySet() 将Map集合中key-value作为元素存于set集合中,元素类型为(<Map.Entry>)
Set keySet()将Map所有的key作为set集合 返回
get(object key)获得key键对应的值
put(object key,object value)存储该映 射关系到集合中
remove (object key)删除对应键值的元素
HashMap和Hashtable的区别
取舍主要看是否存储对象存在null值,是否需要线程安全两个方面
Map集合的遍历方法
方式一、效率最高
Set set = map.entrySet();
Iterator iterator = set.iterator();
while(iterator.hasNext())
{
Map.Entry entry = (Map.Entry)
iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
方式二、效率较低
Set set = map.ketSet();
Iterator iterator = set.iterator();
while(iterator.hasNext())
{
Object key = iterator.next();
Object value = map.get(key);
}
package test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
//添加类方法
map.put("A", "aa");
map.put("B", "bb");
map.put("C", "cc");
//查询类方法
System.out.println("获得B键对应的元素"+map.get("B"));
System.out.println("查看是否存在C键"+map.containsKey("C"));
System.out.println("查看是否存在cc元素"+map.containsValue("cc"));
System.out.println("c查看集合的长度"+map.size());
System.out.println("查看集合是否为空"+map.isEmpty());
//修改类方法
System.out.println(""+map.put("A","aaaa"));
//删除类方法
System.out.println("删除A及A对应的元素"+map.remove("A"));
//其他方法
//Set<Map.Entry<String,String>> setEntry = map.entrySet();
//Set<String> setKey = map.keySet();
//遍历Map集合的方式
//方式一、通过entry()方法
Set<Map.Entry<String, String>> entry = map.entrySet();
Iterator<Map.Entry<String, String>> iterator =entry.iterator();
while(iterator.hasNext())
{
Map.Entry<String, String> m = iterator.next();
String strKey = m.getKey();
String strValue = m.getValue();
System.out.println("key值"+strKey+"--value值"+strValue);
}
//方式二、通过keySet方法
Set<String> setkey = map.keySet();
Iterator<String> iterator2 = setkey.iterator();
while(iterator2.hasNext())
{
String key = iterator2.next();
String value = map.get(key);
System.out.println("Map中key值是"+key+"--value值"+value);
}
}
}
- java集合篇总结
- java总结篇—集合
- java集合------List集合总结
- java集合------Map集合总结
- Java集合--Set集合总结
- 黑马程序员java基础篇----集合总结
- java集合类总结
- Java集合框架总结
- java集合的总结!
- java集合类总结
- JAVA集合类总结
- Java集合总结
- java集合类总结
- java集合类总结
- java集合类总结
- JAVA集合类总结
- Java集合总结
- java集合框架总结
- linux查看java jdk安装路径和设置环境变量
- Docker 简明笔记
- 阿里云短信服务
- 最大距离
- linux基本操作—vi编辑器
- java集合篇总结
- Charles使用大全之app(一)
- C/C++中的结构体
- RocketMQ 消息队列单机部署及使用
- 玩转虚拟机下的linux
- 论如何面对富有挑战性的作业或者任务
- 字节序
- RocketMQ 实战之快速入门
- TensorFlow 之基于Inception V3的多标签分类 retrain