关闭

Java集合与数据结构

发表于:2013-11-05 10:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:生如夏花IT    来源:51Testing软件测试网采编

  1.数学集合:
  2.在软件开发中应用广泛:商品列表
  3.Java中使用接口Collection定义了集合概念。Collection接口中定义了集合的功能抽象:添加元素、删除元素、集合的并、集合的交、集合的差,. . . .
  4.Java中提供了集合的实现类:ArrayList、LinkedList、HashSet等
  5.LinkedList是使用的双向循环链表实现的线性表集合。ArrayList是使用变长数组实现的线性表集合。
  6.常用子接口是线性表(List接口)与散列表(Set接口)。
  7.List:线性表结构的集合,有序的,可以对列表中每个元素的插入位置进行精确地控制。列表通常允许重复的元素。
  8.HashMap:由键值与值构成,键值是唯一的,且每一个键值对应一个值(此值可以为一个类)。
  9.Set:使用HashMap实现的,无序且不重复。HashSet相当于仅保留key情况的HashMap,真正数学意义上的集合。顺序仅与散列数有关,即顺序由散列数决定。不可用于随机。
  10.List:ArrayList(新)与Vector(旧)几乎完全一样,ArrayList(新)速度快,线程不安全,Vector(旧,1.2之前)速度慢,线程安全
  Map:
  11.HashMap与Hashtable几乎完全一样,HashMap(新)速度快,线程不安全,Hashtable(旧,1.2之前)速度慢,线程安全。??
  ArrayLise:
public static void main(String[] args) {
List Cards =new ArrayList();
for(int i=Card.THREE;i<=Card.TWO;i++){
Cards.add(new Card(Card.CLUB,i));
Cards.add(new Card(Card.HEART,i));
Cards.add(new Card(Card.SPADE,i));
Cards.add(new Card(Card.DIAMOND,i));
}
Cards.add(new Card(Card.BLACK,Card.JOKER));
Cards.add(new Card(Card.RED,Card.JOKER));
System.out.println(Cards);
System.out.println(Cards.get(3));
//洗牌
Random tmpRandom=new Random();
Card tmpCard=new Card();
int tmpNum=0;
for(int j=Cards.size()-1;j>0;j--){
//          tmpNum=tmpRandom.nextInt(j);
//           tmpCard=(Card) Cards.set(tmpNum, Cards.get(j));
//           Cards.set(j, tmpCard);
Cards.set(j, Cards.set(tmpRandom.nextInt(j), Cards.get(j)));
}
System.out.println(Cards);
}
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号