Java Collections API的应用 Java Collections API的应用

Java Collections API的应用

  • 期刊名字:电脑开发与应用
  • 文件大小:492kb
  • 论文作者:辛亚宇
  • 作者单位:山西省国土资源厅信息中心
  • 更新时间:2020-06-12
  • 下载次数:
论文简介

70·(总322)Java Collections API的应用2011年文章编号:1003-5850(2011)04-0070-02Java Collections API的应用The application of Java Collections API辛亚宇(山西省国土资源厅信息中心太原030024)要】在Java应用程序的开发过程中, Java Collections API作为JCF的重要组成部分有着广泛的应用,但相当一部分开发人员在开发的过程中,并没有合理地利用和发据它的功能。就这一问题,从4个方面给出了JavaCollections API的应用方法和注意事项。【关键词】 Collection,API,JCF中图分类号:TP311文献标识码:AABSTRaCt Java Collections API (as an important part of the JCF)has a wide range of applications in the Java applicationdevelopment process, however, some developers have not reasonable use and explore its functions in the development process.his paper will discuss this problem, and gives application methods and precautions from four aspects.KEYWORDS Collection, API, JCFJCF( Java Collections Framework,Java集合框提高Java性能,以至于某些开发人员认为 Arraylist架)口是为表示和操作集合而规定的一种统一的标准就是Java数组的替代品。 Collections由数组支持,并的体系结构任何集合框架都包含三大块内容:对外的与数组一样,集合使用整序数获取特定项但集合不是接口、接口的实现和对集合运算的算法数组的简单替代。接口:即表示集合的抽象数据类型,其提供了对集现在, Java Collections的使用非常频繁,因为其合中所表示的内容进行单独操作的可能。有着比数组更多的性能优势,如,若要将数组的内容转实现:也就是集合框架中接口的具体实现,实际就储到一个字符串,需要迭代整个数组,然后将内容连接是那些可复用的数据结构。成一个 String;而 Collections的实现都有一个可用的算法:在一个实现了某个集合框架中的接口的对 to String()实现象身上完成某种有用的计算的方法,例如查找、排序为了解决以上问题,最有效的方法是将遇到的任等这些算法通常是多态的因为相同的方法可以在同何数组转换成集合而完成这个工作的最便捷的方法个接口被多个类实现时有不同的表现即算法具体就是使用 Java Collections AP,如下所示:表现为可复用的函数。合理地利用JCF不但可以提高程序的运行速度public class Array ToList和质量,而且还可以减少设计新的API( ApplicationProgramming Interface,应用程序接口),设计者和实public static void main(String[] args)现者不需要在每次创建一种依赖于集合内容的APISystem. out. println (args)时重新设计,只需使用标准集合框架的接口即可List argList Arrays asList(args):java.util. Collections类中包含很多有用的方法,可以System. out. println(argList)使程序员的工作变得更加容易,但是这些方法通常都没有被充分地利用。下面结合笔者的经验,从JavaCollections API出发,浅谈几点应用技巧或注意事项返回的Iist是不可修改的,而且,由于1 collections并非数组Arrays. aslist(使用 varargs参数表示添加到List的元素,所以还可以使用它轻松地用以new新建的对象java.utl中的 Collections类旨在通过取代数组创建中国煤化工CNMHG2011-01-24收到,2011-02-12改回辛亚宇,男,1979年生,助理工程师,研究方向:软件工程与网络。第24卷第4期电脑开发与应用(总323)·71·2迭代的效率较低new Person("Ted", Neward. 39).new Person(Ron","Reynolds*, 39)将一个集合,尤其是由数组转化而成的集合的内new Person("Charlotte","Neward, 38),容转移到另一个集合;从一个较大对象集合中移除new Person("Matthew", "McCullough",18)个较小对象集合。这些都是在实际开发过程中经常遇SortedSet personset new TreeSet(new到的工作,而要完成这样的工作,可能对集合进行迭代,然后添加元素或移除找到的元素,但这样做的缺点public int compare(Person Ihs, Person rhs)ireturn Ihs getLastName( ) compare To①每次添加或移除元素后重新调整集合将非常低ths. get LastName())效②每次在获取锁、执行操作和释放锁的过程中,都存在潜在的并发困境。personset addAll(perons )③当添加或移除元素时,存取集合的其他线程会System. out. println(ss)引起竞争条件。可行的方法是通过使用 addAll或 removeAll传入集合(包含添加或移除的元素)作为参数,来克服以使用上述代码一段时间后,可能会发现Set是个不包含重复元素的集合,即set不包含成对的e1和上缺点e2元素,因此如果使用 el equals(e2),那么最多包含3 Iterator的作用一个null元素。大多数的开发人员习惯在for()循环中使用但在上述的代码中不存在相等的 Person对象,如Iterator,但在总结以前的开发项目并进行研究后发瑰果使用 Person的 equals(),在输出时只有3个对象出Iterator还有以下强大功能现在 TreeSet中,而实际上有4个,这是因为 TreeSetDI通过调用moye)从源集合中安全地要求对象直接实现 Comparable或者在构造时传人删除对象,这样可以避免 ConcurrentModified ExceP- compare或 compare To方法进行对象比较,而非tion异常,这在当集合不允许在迭代时删除或添加元素时不失为一种安全之举;equals()。② Iterator支持派生的兄弟成员, ListIterator只所以存储在Set中的对象有两种方式确定相等存在于List中,支持在迭代期间向Lst中添加或删除性:大家常用的 Comparable/ Comparator equals(),采元素,并且可以在List中双向滚动。这在“滑动结果用哪种方法取决于上下文。集”操作中,插人 Listiterator可以用于反向遍历集合还需注意的是:简单的声明两者相等还不够,因为或列表而无需每次都从前向后遍历,要比使用向下计以排序为目的的比较不同于以相等性为目的的比较,数整数参数List.getO反向遍历容易得多。如在上例中按姓排序时两个 Person相等,但是其所有的内容却并不相同。所以在应用中,一定要明白4 Equals与 Comparableequals()和 Comparable. compareTo()两者之间的区般的Java开发人员经常会使用 Sortedse类别型,它是 java util包中唯一提供某种排序行为的参考文献Collection,其在JDK中唯一的实现是 TreeSet2.现在如下代码对其进行深入研究:[1] Sun Microsystems. The Collections Framework [J/Ol].http://download.oraclecom/javase/1.4.2/mport ava,util.“;docs/guide/collections/index. html, 2010-10-12.ublic class Using SortedSet中国煤化工 tions with GenerIcspublic static void main(String[] args)CNMHGllections html, 200804-03List persons Arrays asList(

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。