小编May*_*tBe的帖子

按值的日期属性对 Hashmap 键进行排序

我有:

var schedulesByMonth = HashMap<String, MutableList<Schedule>>()
Run Code Online (Sandbox Code Playgroud)

Schedule 有一个startDate: Date属性。

我从一个巨大的Schedule对象列表开始,并按月将它们分类到哈希图中。因此,如果 Schedule 对象上的 startDate 是 2018 年 6 月,它将进入 key 的列表June 2018

这一切都很好,但我需要按月正确排序的选择器的键:

schedulesByMonth.keys
Run Code Online (Sandbox Code Playgroud)

如果那个数组是["July 2018", "August 2018", "June 2018"]我需要的["June 2018", "July 2018", "August 2018"]

我知道我可以制作一个 sortedMap:

val sorted = schedulesByMonth.toSortedMap(compareBy<String> {

    }
Run Code Online (Sandbox Code Playgroud)

但这仅对键 ( String) 进行排序。我怎样才能it成为值 ( MutableList<Schedule>) 以便我可以按startDate其中一个时间表排序?

android sortedmap kotlin

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

为什么C++方法不能返回一个解除引用的指针?

我是C++(和学习Java)的新手.这是来自HW,但我认为我已经回答了硬件问题,我只是想更好地了解指针.

说我有以下方法:

int cubed(int a) {
  int * ptr;
  *ptr = a * a * a;
  return *ptr;
}
Run Code Online (Sandbox Code Playgroud)

这将编译并正常工作,具体如下:

int test = cubed(3);
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚为什么返回一个解除引用的指针是不好的.

这个问题说内存泄漏是一个问题,但我不确定为什么.也许是因为我不明白解除引用指针会发生什么.

左值是否只是在那个点无限期地挂了?你真的要删除指针吗?任何见解将不胜感激.

c++ dereference

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

UIPickerView 正在冻结 UI

我正在 Swift 中实现一个简单的选择器视图。一切都已连接好,这是我迄今为止的所有代码:

//MARK: - picker data and delegates

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
{
    return 2
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return self.visableScores
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
{
    return "\(row)"
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{

}
Run Code Online (Sandbox Code Playgroud)

visableScores 是一个整数。

出于某种原因,一旦我尝试在选择器视图上滚动,UI 就会冻结并且几乎没有响应。我从未使用过选择器视图。我做错了什么还是应该在别处寻找 UI 冻结的原因?

uipickerview ios swift

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

java增量/减量运算符内部调用

我们正在学习quickSort.这本书提供了我的问题末尾的代码.

我对findPivot方法结束时的这个调用感到好奇:

swap(array, left++, right--);
Run Code Online (Sandbox Code Playgroud)

那里为什么有"++"和" - "?它不会递增/递减任何一个变量(在交换之前或之后)并且它不访问(例如)数组[left + 1].

什么给出了什么?

编辑

所以在我发布问题之前,我写了以下测试代码:

public static void main(String[] args) {

    int a = 0;
    int b = 2;
    int[] array = {1,10,20,30};

    swap(array, a++,b--);

}

public static void swap(int[]array,int a, int b) 
{
    for(int i = 0; i < 10; i++)
    {
    Integer temp = array[a];
   array[a] = array[b];
   array[b] = temp;

    System.out.println("a = " + a + "\nb = " + b + "\narray a: " + array[a] + "\narray …
Run Code Online (Sandbox Code Playgroud)

java increment quicksort

0
推荐指数
2
解决办法
1430
查看次数

Java JPanels在Frame中不可见

有人可以解释为什么我的框架只显示p2而不是p1

这经常发生在我身上,我知道我错过了什么.

public class Exercise_16_4 extends JFrame {

private static final long serialVersionUID = 1L;

    JLabel[] labels = new JLabel[3];
    JTextField[] textFields = new JTextField[3];
    JButton[] buttons = new JButton[4];
    String[] buttonText = {"Add", "Subtract", "Multiply", "Divide"};
    String[] labelText = {"Number 1", "Number 2", "Result"};
    JPanel p1 = new JPanel();
    JPanel p2 = new JPanel();

    public Exercise_16_4() {
        for (int i = 0; i < labels.length; i++) {
            labels[i] = new JLabel(labelText[i]);
            textFields[i] = new JTextField(); …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel jframe

0
推荐指数
1
解决办法
136
查看次数