Java集合实例代码_java集合框架实例代码

import java.util.*;

import java.util.Map.Entry;

public class TestMuster {

public static void main(String[] args) {

//new TestMuster().testCollection();

//new TestMuster().testHashSet();

//new TestMuster().testList();

//new TestMuster().testMap();

new TestMuster().testCompositor();

}

public void testCollection(){

Collection cols = new HashSet();   //无序不重复

cols.add(12); //添加

cols.add(11);

cols.add(12);

cols.add(13);

cols.add(12);

cols.add(13);

cols.add(10);

cols.remove(13); //移除

Iterator irs = cols.iterator(); //重点是Iterator接口的枚举遍历

while(irs.hasNext()){

int is = (Integer)irs.next();

System.out.println("Set无序不重复is=="+is);

}

System.out.println("---------------------------------");

Collection coll = new LinkedList(); //有序可重复

coll.add(8);

coll.add(9);

coll.add(8);

Iterator irtl = coll.iterator();

while(irtl.hasNext()){

int il = (Integer)irtl.next();

System.out.println("List有序可重复il=="+il);

}

System.out.println("---------------------------------");

// 以ArrayList类为例:集合元素的增删改查

Collection cola = new ArrayList(); //和具体的实现类从理论上说没有关系

// 往集合里添加对象 add(Object o);

cola.add(1);

cola.add(2);

cola.add(2);

cola.add(3);

cola.add(4);

cola.add(2);

cola.add(3);

cola.add(4);

cola.remove(3); //从集合里移除

//cola.remove(3);

Object[] boj = cola.toArray(); //集合里数据更新的方法: 先清空在add, toArray(),就是暂存数组里

cola.clear();

for(int i = 0; i < boj.length; i++){

if(boj[i].equals(2)){

boj[i] = 8;

}

cola.add(boj[i]);

}

Iterator irta = cola.iterator(); // 枚举遍历   java.util.Iterator接口的使用

while(irta.hasNext()){

int ia = (Integer)irta.next(); //转化为基础类型包装类整型类对象

System.out.println("i=="+ia);

}

int ias = cola.size();

System.out.println(ias);

System.out.println("---------------------------------");

}

// 添加复杂对象的HashSet类:顺便测试对象的调用默认方法的顺序

public void testHashSet(){

Set rset = new HashSet();

FuzaO fdx = new FuzaO();

fdx.setAge(20);

fdx.setUserId("26");

fdx.setUsername("xuechong");

rset.add(fdx);

Iterator itr = rset.iterator();

while(itr.hasNext()){

FuzaO str = (FuzaO)itr.next();

System.out.println(str);    //重写toString方法!

}

}

public void testList(){

List tis = new ArrayList();

FuzaO fdx = new FuzaO();

fdx.setAge(20);

fdx.setUserId("26");

fdx.setUsername("xuechong");

tis.add(fdx); //增加复杂对象

tis.add(3);    //增加简单对象

tis.add(5);

tis.add(10);

tis.remove(2); //删除指定对象,2代表顺序,即序列号,并不是代表个数

int io = tis.size();   //List里对象的个数 int tis.size()

System.out.println("List里的对象的个数是:"+io);

tis.set(1,"2");    //List里这样更新数据多方便啊!!!

tis.set(2,"2000");

System.out.println("tis.get(0)/n"+tis.get(0)); //从取数据的另外一种写法

System.out.println("tis.get(1)/n"+tis.get(1));

Iterator itr = tis.iterator(); //集合的遍历查询模式

while(itr.hasNext()){

Object str = (Object)itr.next();

System.out.println(str);    //重写toString方法!

}

}

public void testMap(){

Map map1 = new HashMap();

//Map的增删改查

//add,     map1.put(Object o1, Object o2);

map1.put("a", "3");

map1.put("b", "2");

map1.put("c", "1");

map1.put("d","4");

//update,   update的思想就是覆盖原来的key值,其实还是add ,用put()方法

map1.put("a", "100");

map1.put("d", "hehehe");

//delete ,其实就是只删除key就行了

map1.remove("c");

Set mapset = map1.keySet();

Iterator itr = mapset.iterator();

while(itr.hasNext()){

String skey = (String)itr.next();

String svalue = (String)map1.get(skey); //value是根据key直接在Map里拿

System.out.println("key=="+skey+",value=="+svalue);

}

System.out.println("-----");

Set setentry = map1.entrySet();

Iterator entryit = setentry.iterator();

while(entryit.hasNext()){

Entry en = (Entry)entryit.next();

String skey2 = (String)en.getKey();

String svalue2 = (String)en.getValue();

System.out.println("key2=="+skey2+",value2=="+svalue2);

}

System.out.println("--------------------------------");

}

public void testCompositor(){

Collection ctree = new TreeSet();

FuzaO ff1 = new FuzaO();

ff1.setAge(20);

ff1.setUserId("a");

ff1.setUsername("3");

ctree.add(ff1);

FuzaO ff2 = new FuzaO();

ff2.setAge(30);

ff2.setUserId("d");

ff2.setUsername("5");

ctree.add(ff2);

FuzaO ff3 = new FuzaO();

ff3.setAge(25);

ff3.setUserId("c");

ff3.setUsername("4");

ctree.add(ff3);

Iterator itr = ctree.iterator();

while(itr.hasNext()){

FuzaO f = (FuzaO)itr.next();

System.out.println(f);

}

}

}

class FuzaO implements Comparable{   // 设置方法:在source里点击:hasCode()和equals()重写   private int age;   private String userId;   private String username;       @Override         public int compareTo(Object obj){     FuzaO f1 = (FuzaO)obj;     if(this.getUsername().compareTo(f1.getUsername()) > 0){        return 1;     }else if(this.getUsername().compareTo(f1.getUsername()) == 0){        return 0;     }else{        return -1;     }     }@Overridepublic int hashCode() {   System.out.println("hashCode===========");   final int prime = 31;   int result = 1;   result = prime * result + ((userId == null) ? 0 : userId.hashCode());   return result;}@Overridepublic boolean equals(Object obj) {   System.out.println("equals()============");   if (this == obj)    return true;   if (obj == null)    return false;   if (getClass() != obj.getClass())    return false;   FuzaO other = (FuzaO) obj;   if (userId == null) {    if (other.userId != null)     return false;   } else if (!userId.equals(other.userId))    return false;   return true;}@Overridepublic String toString() {   //重写toString方法!   System.out.println("toString=============");   return "age="+age+"/n"+"userId="+userId+"/n"+"username="+username;}public int getAge() {   return age;}public void setAge(int age) {   this.age = age;}public String getUserId() {   return userId;}public void setUserId(String userId) {   this.userId = userId;}public String getUsername() {   return username;}public void setUsername(String username) {   this.username = username;}  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值