英文:
How to get the 1 element before & after an element in a set (Java)
问题
给定一组字符串(1.0 1.1 1.2 3.0 3.1 4.0)
,我希望能够获取特定项前面的1个元素和后面的1个元素。
例如:
1.0 --> 1.1
1.1 --> 1.0, 1.2
1.2 --> 1.1, 3.0
4.0 --> 3.1
我具体使用了一个NavigableSet<String>
,但理论上可以根据需要更改为更合适的数据结构。
英文:
Given a set of strings (1.0 1.1 1.2 3.0 3.1 4.0)
, I want to be able to get the 1 element before and the 1 element after a specific item.
For example:
1.0 --> 1.1
1.1 --> 1.0, 1.2
1.2 --> 1.1, 3.0
4.0 --> 3.1
I specifically have a NavigableSet<String>
here, but in theory could change this to a better fit, if there is one.
答案1
得分: 2
你需要方法lower()和higher();
英文:
you need methods lower() and higher();
答案2
得分: 2
使用 NavigableSet#higher
来获取严格大于特定元素的第一个元素(即下一个元素),并使用 NavigableSet#lower
来获取严格小于某个元素的第一个元素(即前一个元素)。如果集合中没有这样的元素,这两个方法都会返回 null
。
System.out.println(set.higher("1.0"));// "1.1"
System.out.println(set.lower("1.0"));// null
英文:
Use NavigableSet#higher
to get the first element strictly greater than a particular one (i.e., the next element) and NavigableSet#lower
to get the first element strictly less than some element (i.e., the previous element). Both of these methods return null
if there is no such element in the set.
System.out.println(set.higher("1.0"));//"1.1"
System.out.println(set.lower("1.0"));//null
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论