java 有序set_JAVA ArraySet<E> SET形式的有序LIST

Set形式的数组,数组内容重复

packagecom.sicdt.library.core.utils;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Iterator;importjava.util.Map;importjava.util.Set;/***

*
类 名: ArraySet

*
描 述: 自定义Set

*
作 者: shizhenwei

*
创 建: 2017年5月15日

*
版 本: v0.0.2

*

*
历 史: (版本) 作者 时间 注释*/

public class ArraySet implements Set{private ArrayListlist;publicArraySet() {

list= new ArrayList<>();

}public ArraySet(intinitialCapacity){

list= new ArrayList<>(initialCapacity);

}public ArraySet(Collection extends E>c) {

list= new ArrayList<>(c);

}

@Overridepublic intsize() {returnlist.size();

}

@Overridepublic booleanisEmpty() {returnlist.isEmpty();

}

@Overridepublic booleancontains(Object o) {returnlist.contains(o);

}

@Overridepublic Iteratoriterator() {returnlist.iterator();

}

@OverridepublicObject[] toArray() {returnlist.toArray();

}

@Overridepublic T[] toArray(T[] a) {returnlist.toArray(a);

}

@Overridepublic booleanadd(E e) {if(list.contains(e)){return false;

}returnlist.add(e);

}

@Overridepublic booleanremove(Object o) {returnlist.remove(o);

}

@Overridepublic boolean containsAll(Collection>c) {returnlist.containsAll(c);

}

@Overridepublic boolean addAll(Collection extends E>c) {if(c == null || c.isEmpty()) return false;for(E e: c){

add(e);

}return true;

}

@Overridepublic boolean retainAll(Collection>c) {returnlist.retainAll(c);

}

@Overridepublic boolean removeAll(Collection>c) {returnlist.removeAll(c);

}

@Overridepublic voidclear() {

list.clear();

}

@OverridepublicString toString() {return list == null ? "[]": list.toString();

}public static voidmain(String[] args) {

Set set = new ArraySet<>();

set.add("aa");

set.add("cc");

set.add("bb");

set.add("cc");

System.out.println(set);

Map 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 it =map.keySet().iterator();while(it.hasNext()){

String key=it.next();

String value=map.get(key);

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

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值