草庐IT

regex_iterator

全部标签

java - HashSet.remove() 和 Iterator.remove() 不起作用

我在HashSet上调用Iterator.remove()时遇到问题。我有一组带有时间戳的对象。在将新项目添加到集合之前,我会遍历集合,识别该数据对象的旧版本并将其删除(在添加新对象之前)。时间戳包含在hashCode和equals()中,但不包含在equalsData()中。for(Iteratori=allResults.iterator();i.hasNext();){DataResultoldData=i.next();if(data.equalsData(oldData)){i.remove();break;}}allResults.add(data)奇怪的是,对于集合中的某

java - 使用 Java Regex,如何检查字符串是否包含集合中的任何单词?

我有一组词说——苹果、橙子、梨、香蕉、猕猴桃我想检查一个句子是否包含上面列出的任何单词,如果是,我想找到匹配的单词。如何在Regex中完成此操作?我目前正在为我的每组单词调用String.indexOf()。我假设这不如正则表达式匹配有效? 最佳答案 TL;DRForsimplesubstringscontains()isbestbutforonlymatchingwholewordsRegularExpressionareprobablybetter.查看哪种方法更有效的最佳方法是对其进行测试。您可以使用String.contai

java - 使用 Java Regex,如何检查字符串是否包含集合中的任何单词?

我有一组词说——苹果、橙子、梨、香蕉、猕猴桃我想检查一个句子是否包含上面列出的任何单词,如果是,我想找到匹配的单词。如何在Regex中完成此操作?我目前正在为我的每组单词调用String.indexOf()。我假设这不如正则表达式匹配有效? 最佳答案 TL;DRForsimplesubstringscontains()isbestbutforonlymatchingwholewordsRegularExpressionareprobablybetter.查看哪种方法更有效的最佳方法是对其进行测试。您可以使用String.contai

java - Java中的Iterator接口(interface)有什么好处?

我刚刚了解了Java集合框架如何在链表中实现数据结构。据我了解,Iterators是一种遍历数据结构(如列表)中的项目的方式。为什么要使用这个接口(interface)?为什么hasNext()、next()和remove()方法不直接编码到数据结构实现本身?来自Java网站:linktextpublicinterfaceIteratorAniteratoroveracollection.IteratortakestheplaceofEnumerationintheJavacollectionsframework.Iteratorsdifferfromenumerationsintwo

java - Java中的Iterator接口(interface)有什么好处?

我刚刚了解了Java集合框架如何在链表中实现数据结构。据我了解,Iterators是一种遍历数据结构(如列表)中的项目的方式。为什么要使用这个接口(interface)?为什么hasNext()、next()和remove()方法不直接编码到数据结构实现本身?来自Java网站:linktextpublicinterfaceIteratorAniteratoroveracollection.IteratortakestheplaceofEnumerationintheJavacollectionsframework.Iteratorsdifferfromenumerationsintwo

java - 为什么没有 getFirst(iterable) 方法?

Iterables为getLast提供两种方法publicstaticTgetLast(Iterableiterable);publicstaticTgetLast(Iterableiterable,@NullableTdefaultValue);但只有一个用于getFirstpublicstaticTgetFirst(Iterableiterable,@NullableTdefaultValue);是否有任何破坏对称性的设计/实现原因? 最佳答案 我认为重点是没有理由使用getFirst(iterable),因为这可以通过iter

java - 为什么没有 getFirst(iterable) 方法?

Iterables为getLast提供两种方法publicstaticTgetLast(Iterableiterable);publicstaticTgetLast(Iterableiterable,@NullableTdefaultValue);但只有一个用于getFirstpublicstaticTgetFirst(Iterableiterable,@NullableTdefaultValue);是否有任何破坏对称性的设计/实现原因? 最佳答案 我认为重点是没有理由使用getFirst(iterable),因为这可以通过iter

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

java - String.replaceAll(regex) 进行两次相同的替换

谁能告诉我为什么System.out.println("test".replaceAll(".*","a"));结果aa注意下面的结果是一样的:System.out.println("test".replaceAll(".*$","a"));我已经在java6和7上对此进行了测试,两者的行为似乎相同。我是否遗漏了什么或者这是java正则表达式引擎中的错误? 最佳答案 这不是异常:.*可以匹配任何内容。您要求替换所有匹配项:第一次出现匹配整个字符串,因此正则表达式引擎从输入的末尾开始进行下一次匹配;但.*也匹配一个空字符串!因此,它匹