JAVA ArraySet<E> SET形式的有序LIST
2018-02-28 13:34
351 查看
Set形式的数组,数组内容重复
package com.sicdt.library.core.utils; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * * <br>类 名: ArraySet * <br>描 述: 自定义Set * <br>作 者: shizhenwei * <br>创 建: 2017年5月15日 * <br>版 本: v0.0.2 * <br> * <br>历 史: (版本) 作者 时间 注释 */ public class ArraySet<E> implements Set<E> { private ArrayList<E> list; public ArraySet() { list = new ArrayList<>(); } public ArraySet(int initialCapacity){ list = new ArrayList<>(initialCapacity); } public ArraySet(Collection<? extends E> c) { list = new ArrayList<>(c); } @Override public int size() { return list.size(); } @Override public boolean isEmpty() { return list.isEmpty(); } @Override public boolean contains(Object o) { return list.contains(o); } @Override public Iterator<E> iterator() { return list.iterator(); } @Override public Object[] toArray() { return list.toArray(); } @Override public <T> T[] toArray(T[] a) { return list.toArray(a); } @Override public boolean add(E e) { if(list.contains(e)){ return false; } return list.add(e); } @Override public boolean remove(Object o) { return list.remove(o); } @Override public boolean containsAll(Collection<?> c) { return list.containsAll(c); } @Override public boolean addAll(Collection<? extends E> c) { if(c == null || c.isEmpty()) return false; for(E e: c){ add(e); } return true; } @Override public boolean retainAll(Collection<?> c) { return list.retainAll(c); } @Override public boolean removeAll(Collection<?> c) { return list.removeAll(c); } @Override public void clear() { list.clear(); } @Override public String toString() { return list == null ? "[]" : list.toString(); } public static void main(String[] args) { Set<String> set = new ArraySet<>(); set.add("aa"); set.add("cc"); set.add("bb"); set.add("cc"); System.out.println(set); Map<String, String> map = new ArrayMap<>(); map.put("a", "aa"); map.put("b", "bb"); map.put("c", "cc"); map.put("a", "dd"); System.out.println(map); System.out.println(map.keySet()); Iterator<String> it = map.keySet().iterator(); while(it.hasNext()){ String key = it.next(); String value = map.get(key); System.out.println(key + "," + value); } } }
相关文章推荐
- java数据结构:ConcurrentSkipListSet&lt;E&gt;与CopyOnWriteArraySet&lt;E&gt;
- Java集合转换【List<-->数组、List<-->Set、数组<-->Set、Map-->Set、Map-->List】
- 使用第三方工具,将JavaBean对象或者List<JavaBean/String/Integer>或Set或Map对象转成JSON
- 错误:Property of 'java.util.Set<?>' type cannot be injected by 'List'的解决方案
- Java笔记(8)-泛型、链表、LinkedList<E>、Iterator迭代器、Collections类方法、堆栈、HashMap<K,V>、TreeSet<E>、自动装箱和拆箱
- Android错误:方法setListAdapter(ArrayAdapter<String>) is undefined for the type String
- Java集合转换【List<-->数组、List<-->Set、数组<-->Set、Map-->Set、Map-->List】
- Java中<list,set,map>的遍历与增强for循环
- Java集合转换【List<-->数组、List<-->Set、数组<-->Set、Map-->Set、Map-->List】
- Java基础<十一>--->集合之List、Set
- 集合转换java:【List<-->数组、List<-->Set、数组<-->Set、Map-->Set、Map-->List】
- Java集合三种类型:Set<集>、List<列表>、Map<映射>
- Java集合转换【List<-->数组、List<-->Set、数组<-->Set、Map-->Set、Map-->List】
- Java中使用SQL标签库<sql:setDataSource />设置数据源
- Core Java (二十五) List与Array的相互转化,Set与Array的相互转换
- Java json转Map,转bean,转List<bean>
- Java List<Object>去掉重复对象-java8
- android Collections.sort(List<T> list) 与JAVA Collections.sort(List<T> list)
- 用 java 的 List<> 对象管理客户端连接的服务线程
- List<-->Array