java中集合去重2】的更多相关文章

1.对集合中的自动定义的对象去重: 自定义Person类,同时复写hashCode和equals方法 package collection; public class Person { private String username; private String password; public Person() { super(); } public Person(String username, String password) { super(); this.username = use…
//TreeMap 处理 处理后 得到的值 按拼音排序 TreeMap map = new TreeMap(new MaterialComparator()); map.put("东莞", "东莞"); map.put("北京", "北京"); map.put("东莞", "东莞"); map.put("北京", "北京"); map.put(&q…
Java中集合List,Map和Set的区别 1.List和Set的父接口是Collection,而Map不是 2.List中的元素是有序的,可以重复的 3.Map是Key-Value映射关系,且Key不能重复 4.Set中的元素是无序的,不可重复的…
参考:java中集合Collection转list对象 首先我的需求是获取到购物车列表,购物车列表是一个Map对象,构造方法获取购物项,这里购物项是Collection对象 // 购物项集合,K商品ID,V就是购物项 Map<Integer, CartItem> map = new LinkedHashMap<Integer, CartItem>();public Collection<CartItem> getCartItems() { return map.valu…
JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray(). 代码: public static void main(String[] args) {        // TODO Auto-generated method stub        Collection c=new ArrayList();        c.add(new Student("kj",12));        c.add(new Student("uj…
Java中集合List,Map和Set的差别 1.List和Set的父接口是Collection.而Map不是 2.List中的元素是有序的,能够反复的 3.Map是Key-Value映射关系,且Key不能反复 4.Set中的元素是无序的,不可反复的…
一.集合和数组的区别 1.数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 2.集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用. 二.Java中集合框架图解与说明 1.Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类.但是却让其被继承产生了两个接口,就是Set和List.Set中不能包含重复的元素.List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式.常用方法如下…
一.单个集合去重 描述: 去掉一个集合里重复的元素:将list集合转成hashSet集合,hashSet有自动去重的功能,再利用去重后的hashSet集合初始化一个新的list集合,此时这个list就是去重后的集合. 代码如下: import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; public class Main { public static…
对于java中的集合元素并不能在scala中拿来就用的,需要进行相应的转换. 1. 转换规则如下 从下面可以看出,有些可以相互转换的,有些只能单向转换: scala.collection.Iterable <=> java.lang.Iterable scala.collection.Iterable <=> java.util.Collection scala.collection.Iterator <=> java.util.{ Iterator, Enumerat…
1. ArrayList.Vector和Stack有什么区别? 1.ArrayList的方法和实现基本上和Vector一样,底层都是数组的实现(简:API基本一样) ​   2.Stack继承了Vector,两者的方法都是线程安全,ArrayList没有考虑线程的问题 3.vector速度慢,ArrayList做了优化,效率更高 2. ArrayList 和 LinkedList 的区别? 1. ArrayList底层是数组的实现,linkedList地层是连接的实现(简:数据结构不同) 1.1…
集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行储存,而想要储存多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识里面,有哪些是容器类型的呢? 数组和StringBuffer.但是,StringBuffer的结果是一个字符串不一定满足我们的需求,所以我们只能选择数组,这就是对象数组.而对象数组又不能适应变化的需求,因为数组的长度是固定的,这个时候,为了适应变化的需求,Jav…
在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public static void main(String[] args) throws Exception { Set<Person> javaProgramers = new HashSet<Person>(); javaProgramers.add(new Person("aaron&qu…
对于Java中的各种集合类,根据底层的具体实现,小结了一下大致有3种扩容的方式: 1.对于以散列表为底层数据结构实现的,(譬如hashset,hashmap,hashtable等),扩容方式为当链表数组的非空元素除以数组大小超过加载因子时, 链表数组长度变大(乘以2+1),然后进行重新散列. 2.对于以数组为底层数据结构实现的,譬如ArrayList,当数组满了之后,数组长度变大(乘以3/2+1),然后将原数组中的数据复制到新数组中. 3.对于以链表结构实现的,譬如TreeSet,TreeMap…
Java中的容器主要包括两方面: Collection:List.Set.queue Map:HashMap.treeMap: 一. Collection 1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作.但是查找效率不如HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN). HashSet:基于哈希表实现,支持快速查找,但不支持有序性操作.并且失去了元素的插入顺序信息,也就是说使用 Iterator 遍历…
转载 http://blog.163.com/asd_wll/blog/static/210310402010112833332260/ 1.HashSet类 Java.util.HashSet类实现了Java.util.Set接口. l  它不允许出现重复元素: l  不保证和政集合中元素的顺序 l  允许包含值为null的元素,但最多只能有一个null元素. 范例: import java.util.Date; import java.util.HashSet; import java.ut…
同步性     Vector是同步的.这个类中的一些方法保证了Vector中的对象是线程安全的.而ArrayList则是异步的,因此ArrayList中的对象并 不是线程安全的.因为同步的要求会影响执行的效率,所以如果你不需要线程安全的集合那么使用ArrayList是一个很好的选择,这样可以避免由于同步带 来的不必要的性能开销.数据增长     从内部实现机制来讲ArrayList和Vector都是使用数组(Array)来控制集合中的对象.当你向这两种类型中增加元素的时候,如果元素的数目 超出了…
HashSet类按照哈希算法来存取集合中的对象,具有很有的性能.当HashSet向集合中加入一个对象时,会调用对象的hashCode()方法获得哈希码,然后根据这个哈希码进一步计算出对象在集合中的存放位置. 为了保证HashSet能正常工作,要求当两个对象用equals()方法比较的结果为true时,他们的哈希码也要相等. TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序. TreeSet支持两种排序方式:自然排序和客户化排序.在默认情况下采用自然排序. 自然排序是调用对…
java平台提供了一个全新的集合框架."集合框架"主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型. 在很大程度上,一旦您理解了接口,您就理解了框架.虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上:因此,允许您更改基本的数据结构而不必改变其它代码. Collection 接口是一组允许重复的对象. Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制.List 接口继承 Collection,允许重复,以元素安插的…
(一)集合框架: Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类).所有抽象出来的数据结构和操作(算法)统称为集合框架. 程序员在具体应用的时候,不必考虑数据结构和算法实现细节,只需要用这些类创建一些对象,然后直接应用就可以了,这样就大大提高了编程效率. (二)集合框架包含的内容: (三)集合框架的接口(规范)   Collection接口:存储一组不唯一,无序的对象 List接口:存储一组不唯一,有序的对象 Set接口:存储一组唯一,无序的对象 Map接口:…
下面的示例来至于阿里巴巴Java开发手册的集合处理部分的第7条: 运行如下代码,会发现正确运行. public static void hasNotExcption() { List<String> list1 = new ArrayList<String>(); list1.add("1"); list1.add("2"); for (String item : list1) { System.out.println("item…
集合类框架概要Collection<E> boolean removeIf(Predicate<? super E> filter)//删除满足条件的元素,如果Collection发生了变化则返回trueCollections.nCopies(n,o)方法是浅拷贝,且拷贝出来的数组不可修改,不能通过set(index,obj)方法改变元素Set中元素不会被插入到特定位置,并且不允许重复元素,SortedSet允许按照顺序的迭代.Queue会记住插入顺序,但是只能在尾端插入元素,在头…
import java.util.ArrayList;/* * 泛型 : java jdk1.5新特性. * 泛型的好处 : * 1.将运行时的错诶提前到编译时. * 2.避免无谓的强制类型转换. * * 自定义方法泛型: 自定义泛型就是一个数据类型的占位或一个数据类型变量, 一般T type或E element来做这个占位的符号 * 占位符号是可以随意写,必须要遵守标识符的命名规范. * 方法泛型的格式 : * <占位符> T: 定义了一个泛型 * * 如果你传进去的是基本数据类型 :接收的…
创建学生类有姓名学校和年龄 覆盖toString() 1.创建三个学生对象,放到集合ArrayList 2.输出第2名学生的信息 3.删除第1个学生对象 4.在第2个位置插入1个新学生信息 5.判断刘德华这个学生是否存在 存在就打出来, 6.输出全部学生信息 直接打印对象 7.删除所有的学生 package com.glut.demo; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /*…
简介: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. 世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合 有人想有可以自动扩展的数组,所以有了List 有的人想有没有重复的数组,所以有了set 有人想有自动排序的组数,所以有了TreeSet,TreeList,Tree** 而几乎有有的…
ConcurrentMap ConcurrentMap,它是一个接口,是一个能够支持并发访问的java.util.map集合 在原有java.util.map接口基础上又新提供了4种方法,进一步扩展了原有Map的功能 public interface ConcurrentMap<K, V> extends Map<K, V> { //插入元素 V putIfAbsent(K key, V value); //移除元素 boolean remove(Object key, Objec…
集合使用: 先说数组:array :用来存同一种数组类型的容器 eg:现在想把班上所有人的信息存起来 1.每一个人的信息可以用一个对象存起来 2.可以用一个数组来接受(现在数组中要接受的是对象) object[] arr : :  数组中可以存放任意类型的对象 数组存放的问题:1.浪费内存,数组他的容量是固定的 无法随元素的变化而改变: 2.存放的数据类型不统一, 集合:用来存放对象的容器就是集合,集合可以存放任意类型的对象,而且长度可变 集合的结构:collection  接口  根接口  集…
package test; import java.util.Arrays;import java.util.List; /** * Created by Administrator on 2016/3/6. */public class Test { public static void main(String[] args) { String[]arr={"a","b","c"}; List<String> list = Arra…
集合的体系结构:     |--Collection(单列集合的根接口)         |--List(子接口):元素是有序的,元素可以重复.因为该集合体系有索引.             |--ArrayList:底层的数据结构使用的是数组结构.特点:查询速度很快.但是增删稍慢.线程不同步.                 |--因为底层采用数组的数据结构,而数组中的元素在堆内存中是连续分配的,而且有索引,所以查询快,增删稍慢                 |--在使用迭代器遍历元素时,不…
作者原创:转载请注明出处 今天在写代码,遇到一个难点,由于要调用webservice接口,返回的为一个list集合内容,从webservice调用接口返回的为一个string的io流, 在调用接口的地方,将io流转成string格式,然后遇到的疑问则为如何将一个string格式的字符串转化为List集合对象的格式,仔细研究之后, 终于解决问题,思路如下: 先将传输过来的IO流,转化为string字符串,然后将字符串转化为json格式的数组,然后将json格式的数组转化为集合格式的对象,代码如下:…
一. List集合:  一次只存储一个元素 1.常用的list集合是ArrayList (1)在创建这个集合的对象时, 需要指定这个集合存储的数据类型! 否则这个集合的数据是不安全的. (2)与数组的区别: ①数组的长度是固定的, 集合的长度是可变的. ②数组可以存储基本类型和引用数据类型的数据.集合不可以存储基本数据类型, 只能存储引用数据类型. 2.基本数据类型的包装类 (1)byte     --->  Byte (2)short       --->  Short (3)int    …