Java 集合-List-Set-Map

List  集合

是 Collection 接口的子接口,也是最常用的接口。此接口对 Collection 接口进行了大量的扩展,List 集合里的元素是允许重复的

1,ArrayList 实现类

                ArrayList<String> arrayList=new ArrayList<String>();

// 添加元素
arrayList.add("张三");

arrayList.add("李四");

// 将指定的元素插入此列表中的指定位置。

arrayList.add(1, "小张三");

// 用指定的元素替代此列表中指定位置上的元素。

arrayList.set(2, "小李四");

// 移除此列表中指定位置上的元素。

arrayList.remove(0);

for(int i=0;i<arrayList.size();i++){
System.out.print(arrayList.get(i)+" ");
}

2,LinkedList 实现类

                LinkedList<String> linkedList=new LinkedList<String>();
linkedList.add("张三");
linkedList.add("李四");
linkedList.add("王五");
linkedList.add("李四");
linkedList.add("赵六");

// 返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
System.out.println(linkedList.indexOf("李四"));

// 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.peekFirst());

// 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.peekLast());

// 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.pollFirst());

// 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.pollLast());

for(int i=0;i<linkedList.size();i++){
System.out.print(linkedList.get(i)+" ");
}


集合的遍历

1,Iterator

                LinkedList<Student> list=new LinkedList<Student>();
list.add(new Student("张三",10));
list.add(new Student("李四",20));
list.add(new Student("王五",30));
/**
* 用Iterator遍历集合
*/
Iterator<Student> it=list.iterator();  // 返回一个迭代器
while(it.hasNext()){
Student s=it.next();   // 返回迭代的下一个元素。
System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge());
}

2,foreach

                LinkedList<Student> list=new LinkedList<Student>();
list.add(new Student("张三",10));
list.add(new Student("李四",20));
list.add(new Student("王五",30));
/**
* 用foreach遍历
*/
for(Student s:list){
System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge());
}

Set集合 

是 Collection 接口的子接口,没有对 Collection 接口进行扩展,里面不允许存重复的内容

1,HashSet 类

               /**
* 1,HashSet是无序
* 2,不允许有重复的值
*/
HashSet<String> hs=new HashSet<String>();
hs.add("1");
hs.add("2");
hs.add("3");
hs.add("4");
hs.add("3");

/**
* 用Iterator遍历集合
*/
Iterator<String> it=hs.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s+" ");
}

Map 集合 

是存放一对值的最大接口,即接口中的每一个元素都是一对,以 key->value 键值对的形式保存

1,HashMap 类

                HashMap<String,Student> hashMap=new HashMap<String,Student>();
hashMap.put("1号", new Student("张三",10));
hashMap.put("2号", new Student("李四",20));
hashMap.put("3号", new Student("王五",30));

// 通过key,获取value
Student s=hashMap.get("1号");
System.out.println(s.getName()+":"+s.getAge());

Iterator<String> it=hashMap.keySet().iterator(); // 获取key的集合,再获取迭代器
while(it.hasNext()){
String key=it.next();  // 获取key
Student student=hashMap.get(key);  // 通过key获取value
System.out.println("key="+key+" value=["+student.getName()+","+student.getAge()+"]");
}







阅读更多
博主设置当前文章不允许评论。

博主推荐

换一批

没有更多推荐了,返回首页