赞
踩
/*
*/
1.public E get(int index)返回集合中指定位置的元素
2.public E remove(int index)移除集合中指定位置的元素,返回移除的元素
3.public E set(int index,E element)用指定元素替换集合中指定位置的元素,返回更新前的元素
package SE03.n1Collection; import java.util.ArrayList; import java.util.List; public class Demo03List { public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("小王"); list.add("小李"); list.add("小明白"); list.add(2,"小清楚");//指定索引位置插入元素 System.out.println("输出集合"+list); System.out.println("get()方法:"+list.get(2));// 返回集合中指定位置的元素 System.out.println("remove()方法:"+list.remove(2));//移除集合中指定位置的元素,返回移除的元素 System.out.println("输出集合"+list); System.out.println("set()方法:"+list.set(1, "小可爱")); //用指定元素替换集合中指定位置的元素,返回更新前的元素 System.out.println("输出集合"+list); } }
结果:
输出集合[小王, 小李, 小清楚, 小明白]
get()方法:小清楚
remove()方法:小清楚
输出集合[小王, 小李, 小明白]
set()方法:小李
输出集合[小王, 小可爱, 小明白]
/*
/*
1.public void addFirst(E e);将指定元素插入此列表的开头
2.public void addList(E e);将制定元素添加到此列表的结尾
3.public E getFirst();返回此列表的第一个元素
4.public E getLast();返回此列表的最后一个元素
5.public E removeFirst();移除并返回此列表的第一个元素
6.public E removeLast();移除并返回此列表的最后一个元素
7.public E pop();从此列表所表示的堆栈处弹出一个元素
8.public E push(E e);将元素推入此列表所表示的堆栈
9.public boolean isEmpty();如果列表不包含元素则返回true
PS:在开发时,LinkedList可以作为堆栈、队列的数据结构使用,pop方法与push方法与堆栈的增删相同
package SE03.n1Collection; import java.util.LinkedList; public class Demo05LinkedList { public static void main(String[] args) { LinkedList<String>ll=new LinkedList<String>(); ll.add("小明"); ll.add("小白"); ll.add("小明白"); ll.addFirst("小清楚"); System.out.println(ll);//将指定元素插入此列表的开头 ll.addLast("小糊涂");//将制定元素添加到此列表的结尾 System.out.println(ll); System.out.println(ll.getFirst());//返回此列表的第一个元素 System.out.println(ll.getLast());//返回此列表的最后一个元素 System.out.println(ll.removeFirst());//移除并返回此列表的第一个元素 System.out.println(ll);//输出集合 System.out.println(ll.removeLast());//移除并返回此列表的最后一个元素 System.out.println(ll);//输出集合 System.out.println(ll.pop());//从此列表所表示的堆栈处弹出一个元素 System.out.println(ll);//输出集合 ll.push("好东西");//将元素推入此列表所表示的堆栈 System.out.println(ll);//输出集合 System.out.println(ll.isEmpty());//如果列表不包含元素则返回true } }
结果:
输出集合:[小清楚, 小明, 小白, 小明白]
输出集合:[小清楚, 小明, 小白, 小明白, 小糊涂]
返回列表第一个元素:小清楚
返回列表最后一个元素:小糊涂
移除并返回此列表的第一个元素小清楚
输出集合:[小明, 小白, 小明白, 小糊涂]
移除并返回此列表的最后一个元素小糊涂
输出集合:[小明, 小白, 小明白]
从此列表所表示的堆栈处弹出一个元素小明
输出集合:[小白, 小明白]
输出集合:[将元素推入此列表所表示的堆栈好东西, 小白, 小明白]
如果列表不包含元素则返回true:false
/*
package SE03.n1Collection; import java.util.HashSet; import java.util.Iterator; public class Demo06HashSet { /* * Set接口和List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有功能上 * 的扩充,只是比Collection接口更严格了,与List不同的是,set接口中的元素是无序的,并且都会以某种规则 * 保证存入的元素不会重复出现。 * set集合有多个子类,比如:HashSet,LinkedHashSet * * HashSet是Set接口的一个实现类,底层实现是一个HashMap支持。它根据对象的哈希值来确定元素的存储位置, * 因此具有良好的查找性能。保证元素唯一性的方式依赖于:hashCode()和equals() */ public static void main(String[] args) { HashSet<String> set=new HashSet<String>(); set.add("小明"); set.add("小白"); set.add("小明白"); set.add("小明"); for (String name : set) { System.out.println(name); } HashSet<Student> sett=new HashSet<Student>(); sett.add(new Student(19,"x名")); sett.add(new Student(11,"x名")); sett.add(new Student(12,"x名")); sett.add(new Student(13,"x名")); sett.add(new Student(13,"名x")); for (Student student : sett) { System.out.println(student); } System.out.println(); //可以用foreach也可以用迭代器 Iterator<Student> it=sett.iterator(); while(it.hasNext()) { Student s = it.next(); System.out.println(s); } } }
package SE03.n1Collection; public class Student { int age; String name; @Override public String toString() { return "Student [age=" + age + ", name=" + name + "]"; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + age; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Student other = (Student) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Student(int age, String name) { super(); this.age = age; this.name = name; } }
结果:
小明
小白
小明白
Student [age=19, name=x名]
Student [age=13, name=名x]
Student [age=13, name=x名]
Student [age=12, name=x名]
Student [age=11, name=x名]
Student [age=19, name=x名]
Student [age=13, name=名x]
Student [age=13, name=x名]
Student [age=12, name=x名]
Student [age=11, name=x名]
与HashSet不同的是,增加了一条链表,用来维护顺序
package SE03.n1Collection;
import java.util.HashSet;
public class Demo07LinkedHashSet {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("小明");
set.add("小白");
set.add("小明白");
set.add("小明");//重复的数据只会存一个
for (String name : set) {
System.out.println(name);
}
}
}
结果:
小明
小白
小明白
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。