小编Ste*_*eod的帖子

如何获取SortedSet的最后25个元素?

在Java中,我有一个可能有100,000个元素的SortedSet.我想高效优雅地获得最后25个元素.我有点不解.

为了获得 25个,我会迭代并在25个元素后停止.但我不知道如何以相反的顺序迭代.有任何想法吗?

SortedSet<Integer> summaries = getSortedSet();
// what goes here :-(
Run Code Online (Sandbox Code Playgroud)

java sortedset

10
推荐指数
1
解决办法
3852
查看次数

如何轻松地将字符串压缩和解压缩到字节数组?

我有一些字符串,每个字符串大约10K字符.它们有很多重复.它们是序列化的JSON对象.我想轻松地将它们压缩成一个字节数组,并从字节数组中解压缩它们.

我怎样才能最轻松地做到这一点?我正在寻找方法,所以我可以做以下事情:

String original = "....long string here with 10K characters...";
byte[] compressed = StringCompressor.compress(original);
String decompressed = StringCompressor.decompress(compressed);
assert(original.equals(decompressed);
Run Code Online (Sandbox Code Playgroud)

java compression string

10
推荐指数
1
解决办法
3万
查看次数

在Java中并行执行从属任务

我需要找到一种在java中并行执行任务(依赖和独立)的方法.

  1. 任务A和任务C可以独立运行.
  2. 任务B取决于任务A的输出.

我检查了java.util.concurrent Future和Fork/Join,但看起来我们无法向Task添加依赖项.

任何人都可以指出我更正Java API.

java multithreading

10
推荐指数
2
解决办法
6915
查看次数

如何将Cocoa co-ords从左上角==原点转换为左下角== origin

我使用CGWindowListCopyWindowInfo来获取所有窗口的列表.它根据原点是屏幕的左上角给出了每个窗口的坐标.

如果我使用NSWindow的SETFRAME方法,对基于原点作为该坐标左下角的画面.

什么是从一个转换为另一个的干净,可靠的方式?

补充:干净可靠,我的意思是,无论用户有多个屏幕还是正在使用Spaces,都能确保工作正常.我认为必须有一个使用库API的已知习语.

cocoa objective-c nswindow

9
推荐指数
1
解决办法
4818
查看次数

如何在Java Swing工具栏中创建"下拉"菜单?

我在Swing JToolBar上创建了一个下拉菜单.但它并没有按照我想要的方式创造行为.我的目标是像Firefox的"智能书签"按钮一样工作.

当用户选择菜单项时,它会消失:正确!

当用户按下ESC时,它会消失:CORRECT!

当用户点击菜单外的主框架中的某处时,它会消失:正确!

但是当用户第二次点击显示下拉菜单的按钮时,它不会消失:INCORRECT ... :-(

我的问题是如何添加这种行为,当点击第二次显示菜单的按钮时,它确实消失了.

这是我目前的代码,来自Mac上的Java 6:

import javax.swing.*;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class ScratchSpace {

    public static void main(String[] arguments) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new JFrame("Toolbar with Popup Menu demo");

                final JToolBar toolBar = new JToolBar();
                toolBar.add(createMoreButton());

                final JPanel panel = new JPanel(new BorderLayout());
                panel.add(toolBar, BorderLayout.NORTH);
                panel.setPreferredSize(new Dimension(600, 400));
                frame.getContentPane().add(panel);
                frame.pack();
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }

    private static AbstractButton createMoreButton() { …
Run Code Online (Sandbox Code Playgroud)

java swing menu jtoolbar drop-down-menu

9
推荐指数
1
解决办法
2万
查看次数

检查是否存在Mac OS X应用程序

我记得有一个Cocoa框架或AppleScript字典来检查计算机上的任何地方是否安装了具有特定名称的Application包.

我该怎么做呢?Cocoa,AppleScript或命令行对我都很有用.

macos cocoa applescript

9
推荐指数
1
解决办法
4151
查看次数

如何从Set <Integer>创建IntStream?

我目前这样做:

Set<Integer> integers = ... // sourced from elsewhere in code
IntStream intStream = integers.stream().mapToInt(value -> value);
Run Code Online (Sandbox Code Playgroud)

将值映射到值,将转换为Stream<Integer>to 似乎是多余的IntStream.有没有办法在没有冗余mapToInt(...)部分的情况下做到这一点?

java java-8 java-stream

9
推荐指数
1
解决办法
885
查看次数

检查地图是否包含Freemarker中的特定密钥

在Java中:

Map<String, Object> model = new HashMap<>();
Map<String, String> items = new HashMap<>();
items.put("color", "red");
model.put("items", items);
Run Code Online (Sandbox Code Playgroud)

我现在想要在items包含密钥的渲染模板中包含一个片段color.

<#if ???? >
   the map contains a key called color
</#if>
Run Code Online (Sandbox Code Playgroud)

我该怎么替换???? 用?

freemarker

9
推荐指数
1
解决办法
5095
查看次数

如何将NSString转换为NSData?

我有这行代码将NSString转换为NSData:

NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)

如何在Unicode而不是UTF8中执行此操作?我的消息可能包含西里尔字符或变音符号.

unicode cocoa nsstring nsdata

8
推荐指数
1
解决办法
2万
查看次数

为什么某些Objective-C文件名的名称中带有减号或加号

在我想要添加到我的项目的库中,有一个名为NSString-Base64Extensions.h(带有NSString-Base64Extensions.m)的文件和一个名为NSString + PECrypt.h(带有NSString + PECrypt.m)的文件.

这意味着什么?

cocoa objective-c

8
推荐指数
1
解决办法
3004
查看次数