package com.neusoft.collection;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
/**
* Set接口
* 特点:无序的,不能有重复的元素
* 主要的实现类:HashSet 无序; TreeSet 有序
* 添加:add; 遍历:while(iterator hasNext){it.next}
*/
public class SetDemo {
public static void main(String[] args) {
PersonManager personManager = new PersonManager();
Person p1 = new Person();
p1.setSid("100");
p1.setSname("tom");
p1.setAge(30);
Person p2 = new Person();
p2.setSid("101");
p2.setSname("tom2");
p2.setAge(32);
Person p3 = new Person();
p3.setSid("102");
p3.setSname("tom3");
p3.setAge(33);
Person p4 = new Person();//new新建对象,不是重复
Person p4 = p3;//赋值对象,为重复
p4.setSid("102");
p4.setSname("tom3");
p4.setAge(33);
Set<Person> set = new HashSet<>();
set.add(p1);
set.add(p2);
set.add(p3);
set.add(p4);
Iterator<Person> iterator = set.iterator();
while (iterator.hasNext()) {
Person person = iterator.next();
System.out.println(person.getSname());
}
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(1);//重复数据
set1.add(3);
Iterator<Integer> iterator1 = set1.iterator();
while (iterator1.hasNext()) {
System.out.println(iterator1.next());
}
Set<Integer> set2 = new TreeSet<>();
set2.add(1);
set2.add(1);//重复数据,有序
set2.add(3);
set2.add(4);
Iterator<Integer> iterator2 = set2.iterator();
while (iterator2.hasNext()) {
System.out.println(iterator2.next());
}
}
}
package com.neusoft.collection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 集合:也是一种容器,在这个容器中只能存放引用类型(可以存放不同类型的元素 了解)
* Collection:List \Set
* List接口:实现类:ArrayList
* List特点:是有序的集合,可以有重复的元素
* 添加:add;
遍历:for(int i = 0;i<list.size();i++){list.get}
for(类型,list){类型...}
Iterator<E> list = list.iterator;
while(iterator.hasNext()){ E = iterator.next;}
*/
public class ListDemo {
public static void main(String[] args) {
//创建一个集合
List<Integer> list = new ArrayList<Integer>();
//向集合中添加对象:自动添加十个位置
list.add(1);//封装类型
List<StringBuffer> list2 = new ArrayList<>();
list2.add(new StringBuffer("tom"));
list2.add(new StringBuffer("tom"));
list2.add(new StringBuffer("tom"));
list2.add(new StringBuffer("tom"));
for(int i = 0 ;i<list2.size();i++){
System.out.println(list2.get(i));
}
for (StringBuffer stringBuffer : list2) {
System.out.println(stringBuffer);
}
//如何获取某一个元素
System.out.println(list.get(0));//1
//如何来限制集合中存放元素的类型:使用泛型<E> E表示一种未知的类型
List<String> list1 = new ArrayList<>();
list1.add("tom");
list1.add("jazz");
list1.add("jazz");
list1.add("jazz");
//如何对集合进行遍历
for(int i = 0;i<list1.size();i++){
System.out.println(list1.get(i));
}
//for ... each
for (String string : list1) {
System.out.println(string);
}
//迭代器
Iterator<String> it = list1.iterator();
while (it.hasNext()) {
String s = (String) it.next();
System.out.println(s);
}
}
}
package com.neusoft.collection;
public class Person {
private String sid;
private String sname;
private int age;
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.neusoft.collection;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.helpers.ParseConversionEventImpl;
public class PersonManager {
public List<Person> addPerson(List list) {
return list;
}
public static void main(String[] args) {
PersonManager personManager = new PersonManager();
List<Person> list = new ArrayList<>();
Person p1 = new Person();
p1.setSid("100");
p1.setSname("tom");
p1.setAge(30);
Person p2 = new Person();
p2.setSid("101");
p2.setSname("tom2");
p2.setAge(32);
Person p3 = new Person();
p3.setSid("102");
p3.setSname("tom3");
p3.setAge(33);
list.add(p1);
list.add(p2);
list.add(p3);
List<Person> list2 = personManager.addPerson(list);
for (Person person : list2) {
System.out.println(person.getSid()+"--"+person.getSname()+"--"+person.getAge());
}
}
}
package com.neusoft.collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* Map接口:
* 它是以键(key)/值(value)对的方式来存储元素的
* 它主要的实现:HashMap();
* 向Map添加元素:key值唯一!!!
* Put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)
* get(Object key) 返回值指定键所映射的值;如果此映射不好喊该键的映射关系,则返回null
*/
public class MapDemo {
public Map<String, Person> getName(Map<String, Person> map){
return new HashMap<>();
// return map;
}
public static void main(String[] args) {
Person p1 = new Person();
p1.setSid("100");
p1.setSname("tom");
p1.setAge(30);
Person p2 = new Person();
p2.setSid("101");
p2.setSname("tom2");
p2.setAge(32);
Person p3 = new Person();
p3.setSid("102");
p3.setSname("tom3");
p3.setAge(33);
Person p4 = new Person();
p4.setSid("102");
p4.setSname("tom3");
p4.setAge(33);
Map<String, Person> map = new HashMap<>();
map.put("one", p1);
map.put("two", p2);
map.put("three", p3);
Person person = map.get("two");
System.out.println(person.getSname());//tom2
MapDemo mDemo = new MapDemo();
Map<String, Person> map2 = mDemo.getName(map);
Person person2 = map2.get("three");
System.out.println(person.getSname());
Set<Entry<String, Person>> set = map.entrySet();
Iterator<Entry<String, Person>> iterator = set.iterator();
while (iterator.hasNext()) {
Entry<String, Person> entry = iterator.next();
String key = entry.getKey();
Person person1 = entry.getValue();
System.out.println(key+"--"+person.getSname());
}
}
}