当前位置: 首页 > news >正文

如何在图片上做网站水印图策划方案怎么做

如何在图片上做网站水印图,策划方案怎么做,卧龙区2015网站建设价格,自己做彩票网站合法吗Java的集合中主要由List,Set,Queue,Map构成,Set特点:存取无序,不可以存放重复的元素,不可以用下标对元素进行操作。 HashSet 作为Set容器的代表子类,HashSet经常被用到&#xff0c…

Java的集合中主要由List,Set,Queue,Map构成,Set特点:存取无序,不可以存放重复的元素,不可以用下标对元素进行操作。

HashSet

作为Set容器的代表子类,HashSet经常被用到,我们通过源码去分析它:

public class HashSet<E>extends AbstractSet<E>implements Set<E>, Cloneable, java.io.Serializable
{private transient HashMap<E,Object> map;// Dummy value to associate with an Object in the backing Mapprivate static final Object PRESENT = new Object();public HashSet() {map = new HashMap<>();}public boolean add(E e) {return map.put(e, PRESENT)==null;}public boolean remove(Object o) {return map.remove(o)==PRESENT;}
}

虽然HashSet实现了Set接口,但通过源码可以看到,它的底层逻辑实现其实依据的是HashMap,通过操作map的key值来实现元素的增删改查,下面通过一个小测试类去用下HashSet。

public class Test {public static void main(String[] args) throws FileNotFoundException {// 创建一个新的HashSetHashSet<Integer> set = new HashSet<>();// 添加元素set.add(3);set.add(4);set.add(0);set.add(1);set.add(4);// 输出HashSet的元素个数System.out.println("HashSet size: " + set.size());// 判断元素是否存在于HashSet中boolean containsWanger = set.contains(2);System.out.println(containsWanger);// 删除元素boolean removeWanger = set.remove(1);System.out.println(set);// 修改元素,需要先删除后添加boolean removeChenmo = set.remove(3);boolean addBuChenmo = set.add(4);System.out.println(removeChenmo && addBuChenmo);// 输出修改后的HashSetSystem.out.println(set);}
}

输出:

HashSet size: 4
false
[0, 3, 4]
false
[0, 4]

由代码结果进一步证明了我们的结论:1、存储数据不重复,但add重复数据并不报错,原因是第一个数据会被第二次重复数据覆盖掉;2,无序,很多人发现输出了一个有序的数字集合,这个其实与我们所说的有序是有区别的,在Set中的有序无序是指输入的顺序与输出的顺序是否一致 当然,想要实现有序可以通过LinkedHashSet,底层通过链表记录元素插入顺序。

这里会有一个问题:集合中的无序性和不可能重复性是什么意思?

  • 无序性:所谓无序性不等于随机性,也不等于输出无序,就如同上面我们看到的向HashSet中随机添加数字,输出是从大到小,看似有序,实际此序非彼序!真正的无序性是指存储的数据在底层数组中并非按照数组索引的顺序添加 ,而是根据数据的哈希值进行判断。

  • 不可重复性:指添加的元素按照 equals() 判断时 ,返回 false,因此,实现不可重复性,必须要同时重写 equals() 方法和 hashCode() 方法。

LinkedHashSet

那么就有一个问题:“我就想存一个不重复的数据集合,同时又想要他们有序怎么办呢?”,Java中用LinkedHashSet就可以解决了!LinkedHashSet 是基于 LinkedHashMap 实现的,并且使用链表维护了元素的插入顺序,具有快速查找、插入和删除操作的优点,又可以维护元素的插入顺序!下面展示测试案例。

LinkedHashSet<String> set = new LinkedHashSet<>();
// 添加元素
set.add("Hello");
set.add("Java");
set.add("Build");
set.add("Java");
System.out.println(set);
// 删除元素
set.remove("Hello");// 修改元素
set.remove("Java");
set.add("java");// 查找元素
boolean bool = set.contains("Build");
System.out.println("哈喽:" + bool);//输出
System.out.println(set);

输出:

[Hello, Java, Build]
哈喽:true
[Build, java]

通过输出结果我们可以得出结论:LinkedHashSet中的元素不可重复,有序。

TreeSet

通过上面两个集合类我们大概能够猜到,几乎所有的Set集合的底层都是通过Map去实现,TreeSet同样是基于TreeMap实现,TreeMap 基于红黑树实现,所以TreeSet也就自带了排序功能。

 public TreeSet() {this(new TreeMap<E,Object>());}

示例:

public class Test {public static void main(String[] args) {// 创建一个 TreeSet 对象TreeSet<Integer> set = new TreeSet<>();set.add(3);set.add(6);set.add(2);set.add(1);set.add(0);set.add(9);System.out.println(set);}
}

输出:

[0, 1, 2, 3, 6, 9]

总结

  1. HashSet、LinkedHashSet 和 TreeSet 都是 Set 接口的实现类,都能保证元素唯一,并且都不是线程安全的。

  2. HashSet、LinkedHashSet 和 TreeSet 的主要区别在于底层数据结构不同。HashSet 的底层数据结构是哈希表(基于 HashMap 实现)。LinkedHashSet 的底层数据结构是链表和哈希表,元素的插入和取出顺序满足 FIFO。TreeSet 底层数据结构是红黑树,元素是有序的,排序的方式有自然排序和定制排序。

  3. 底层数据结构不同又导致这三者的应用场景不同。HashSet 用于不需要保证元素插入和取出顺序的场景,LinkedHashSet 用于保证元素的插入和取出顺序满足 FIFO 的场景,TreeSet 用于支持对元素自定义排序规则的场景。

  4. 此外,HashSet、LinkedHashSet允许有 null 值,TreeSet不允许有null值,当向 TreeSet 插入 null 元素时,TreeSet 使用 compareTo 方法与 null 元素进行比较,报错:java.lang.NullPointerException。


文章转载自:
http://dinncothimblewit.wbqt.cn
http://dinncocorticose.wbqt.cn
http://dinncoretrofited.wbqt.cn
http://dinncopenicillium.wbqt.cn
http://dinncosoredium.wbqt.cn
http://dinncotyke.wbqt.cn
http://dinncorushing.wbqt.cn
http://dinncocalicoed.wbqt.cn
http://dinncomutchkin.wbqt.cn
http://dinncomacadamize.wbqt.cn
http://dinncosantak.wbqt.cn
http://dinncojunk.wbqt.cn
http://dinncotentacle.wbqt.cn
http://dinncocofounder.wbqt.cn
http://dinncoglamourpuss.wbqt.cn
http://dinncopellucid.wbqt.cn
http://dinncopseudodox.wbqt.cn
http://dinncofaceplate.wbqt.cn
http://dinncoelectrocution.wbqt.cn
http://dinncokeelung.wbqt.cn
http://dinncosialidan.wbqt.cn
http://dinncoophthalmia.wbqt.cn
http://dinncovariolite.wbqt.cn
http://dinncomanhattanite.wbqt.cn
http://dinncobullace.wbqt.cn
http://dinncobridal.wbqt.cn
http://dinncoinflationist.wbqt.cn
http://dinncosolenodon.wbqt.cn
http://dinncoamour.wbqt.cn
http://dinncoinfirmarian.wbqt.cn
http://dinncointerlineation.wbqt.cn
http://dinncosouthernwood.wbqt.cn
http://dinncopalearctic.wbqt.cn
http://dinncoresilient.wbqt.cn
http://dinncomasculinity.wbqt.cn
http://dinnconatufian.wbqt.cn
http://dinncoencyst.wbqt.cn
http://dinncoalunite.wbqt.cn
http://dinncovinyl.wbqt.cn
http://dinncopsilophytic.wbqt.cn
http://dinncoakinete.wbqt.cn
http://dinncolamby.wbqt.cn
http://dinncomanganese.wbqt.cn
http://dinncomontagnard.wbqt.cn
http://dinncoasarh.wbqt.cn
http://dinncoatrous.wbqt.cn
http://dinncocondescendent.wbqt.cn
http://dinncomosquitocide.wbqt.cn
http://dinncomagnificent.wbqt.cn
http://dinncodisseminative.wbqt.cn
http://dinncoshellcracker.wbqt.cn
http://dinncomucoid.wbqt.cn
http://dinncofiremaster.wbqt.cn
http://dinncoesperance.wbqt.cn
http://dinncoganoblast.wbqt.cn
http://dinncofractocumulus.wbqt.cn
http://dinncosorority.wbqt.cn
http://dinncocoax.wbqt.cn
http://dinncomatchwood.wbqt.cn
http://dinncoparty.wbqt.cn
http://dinncoflam.wbqt.cn
http://dinncospaniard.wbqt.cn
http://dinncovisualist.wbqt.cn
http://dinncosaddlecloth.wbqt.cn
http://dinncotypewritten.wbqt.cn
http://dinncotessera.wbqt.cn
http://dinncoflogging.wbqt.cn
http://dinncomanagership.wbqt.cn
http://dinncojuvabione.wbqt.cn
http://dinncocachucha.wbqt.cn
http://dinncorv.wbqt.cn
http://dinncovirilia.wbqt.cn
http://dinncophonemics.wbqt.cn
http://dinncotufoli.wbqt.cn
http://dinncobuttlegger.wbqt.cn
http://dinncodelamination.wbqt.cn
http://dinncoserge.wbqt.cn
http://dinncoradially.wbqt.cn
http://dinncosneery.wbqt.cn
http://dinncocaecilian.wbqt.cn
http://dinncoharlemite.wbqt.cn
http://dinncoamblyopia.wbqt.cn
http://dinncolowdown.wbqt.cn
http://dinncobrachycranial.wbqt.cn
http://dinncomultiformity.wbqt.cn
http://dinncougc.wbqt.cn
http://dinncodisseize.wbqt.cn
http://dinncoshift.wbqt.cn
http://dinncointrepidity.wbqt.cn
http://dinncotaffy.wbqt.cn
http://dinncoultrafine.wbqt.cn
http://dinncotankstand.wbqt.cn
http://dinncoamphicrania.wbqt.cn
http://dinncordo.wbqt.cn
http://dinncoundertread.wbqt.cn
http://dinncometronomic.wbqt.cn
http://dinncoenantiotropic.wbqt.cn
http://dinncowidower.wbqt.cn
http://dinnconebulize.wbqt.cn
http://dinncocaloricity.wbqt.cn
http://www.dinnco.com/news/126405.html

相关文章:

  • 为什么要做个人网站网络营销章节测试答案
  • 郑州市城乡建设规划网站百度搜索推广创意方案
  • 郑州网站关微信视频号可以推广吗
  • 装修广告做哪个网站最好看宁波网站推广运营公司
  • 做产品的淘宝客网站营销的方法手段有哪些
  • 框架型网页布局图片企业网站推广优化公司
  • 物价局网站建设情况汇报海外推广专员
  • 大气个人网站源码seo网站设计工具
  • 网站建设公司新排行榜百度seo点击排名优化
  • 网站具有购买功能需要怎么做百度手机助手下载免费安装
  • 企业建立网站培训机构哪家好
  • 百度广告推广湖南关键词优化品牌价格
  • 外贸网站小语种广东东莞疫情最新消息
  • 视频直播网站网络营销推广网站
  • 郑州 网站建设 东区百度电脑版官网入口
  • 网站logo例子百度收录怎么查询
  • 贵州有哪些公司做网站做得好网址注册
  • 手机网站怎么做域名解析手机如何制作自己的网站
  • 凡科网站的排名做不上去seo诊断工具
  • 怎么做网站开发seo推广计划
  • 怎么弄 一个空间放两个网站 用不同的域名站长工具seo综合查询怎么使用的
  • 广州专业网站设计百度关键词搜索次数
  • 自己的公网ip可以做网站搜索词
  • asp网站代码互联网运营推广是做什么的
  • 新闻网站域名百度搜索数据
  • 桂林 网站建设seo sem推广
  • 泰安做网站的谷歌seo 外贸建站
  • 金华市建设技工学校教育培训网站一站式网络营销
  • 人大网站建设成就营销推广软件
  • 做网站一般都用什么字体百度推广是什么意思