小编sde*_*sse的帖子

何时在Java中使用LinkedList而不是ArrayList?

我一直只是一个人使用:

List<String> names = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码.

何时应该LinkedList使用,ArrayList反之亦然?

java collections linked-list arraylist

2974
推荐指数
27
解决办法
102万
查看次数

为什么有些人声称Java的泛型实现很糟糕?

我偶尔听说过,通用泛型,Java并没有把它弄好.(最近的参考,这里)

原谅我的经验不足,但是什么会让他们变得更好?

java generics

111
推荐指数
11
解决办法
2万
查看次数

以递归方式反转Java中的链表

我一直在为一个类的Java项目工作.它是链表的实现(此处称为AddressList包含调用的简单节点ListNode).问题在于,所有事情都必须通过递归算法来完成.我能做的一切都很好,没有一种方法:public AddressList reverse()

ListNode:

public class ListNode{
  public String data;
  public ListNode next;
}
Run Code Online (Sandbox Code Playgroud)

现在我的reverse函数只调用一个辅助函数,该函数接受一个允许递归的参数.

public AddressList reverse(){
  return new AddressList(this.reverse(this.head));
}
Run Code Online (Sandbox Code Playgroud)

我的助手功能有签名private ListNode reverse(ListNode current).

目前,我使用堆栈迭代地工作,但这不是规范要求的.我在C中找到了一个递归反转的算法,并手工将其转换为Java代码,但是它有效,但我对此并不了解.

编辑:没关系,我在此期间弄清楚了.

private AddressList reverse(ListNode current, AddressList reversedList){
  if(current == null) 
      return reversedList;
  reversedList.addToFront(current.getData());
  return this.reverse(current.getNext(), reversedList);
}
Run Code Online (Sandbox Code Playgroud)

虽然我在这里,有没有人看到这条路线有任何问题?

java recursion linked-list data-structures

97
推荐指数
8
解决办法
18万
查看次数

有人知道任何静态类型的脚本语言吗?

我即将为一个业余爱好项目启动一个基于LFS的Linux发行版.我计划做一些非标准的任务,其中大部分都涉及更改发行版中的几乎所有脚本.(主要是init脚本,但我也会编写一套简单的包管理器脚本.)因为我要远离常规,因为我从未成为动态类型语言的粉丝(perl, python,bash和其他都很好,但不是我的强项),我想知道是否有人知道实际上已声明变量的解释语言.

linux scripting linux-from-scratch package

12
推荐指数
2
解决办法
6590
查看次数

如何从c中的字符串数组中访问单个字符?

只是想了解如何处理字符串数组中的单个字符.此外,这当然会让我理解指向一般订阅的指针.如果我有char **a,我想达到的第二个字符串的第3个字符,做这项工作:**((a+1)+2)?好像应该......

c arrays string pointers

7
推荐指数
2
解决办法
3万
查看次数

在c中表示任意大数的最佳方法是什么?

我正在开发一个项目,要求我使用大于c中最大数值数据类型的数字.我正在考虑使用带有位字段的结构来表示这一点,但它已经闻起来很糟糕了.有人有任何提示吗?(不是在寻找一个图书馆,更多的是一个思考过程,以便做这样的事情.)

c biginteger

5
推荐指数
2
解决办法
1851
查看次数

如何在没有javascript的情况下在Web表单中编码密码?

当然,并不是说我无法访问javascript.在我的大多数CS Web开发课程中,我们都会学习一些关于服务器端验证的知识,然后一旦引入了javascript,服务器端验证就会被抛到窗外.

我选择不仅仅依赖于javascript,因为客户端从来都不是一个安全的地方.我已养成为这些事情编写客户端和服务器端代码的习惯.但是,对于我正在编写的具有可选AJAX的Web应用程序,如果有人关闭了javascript,我不希望密码通过网络发送明文.

我意识到我可能会问一个捕获22的情况,所以让我问一下:当我们可以依赖的是服务器端时,我们怎么知道我们用户的密码对同一网络上的恶意用户来说是安全的(足够的)脚本.在登录页面的第一个请求上,有没有办法让浏览器加密数据字段?

javascript security encryption cryptography

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

将函数传递给C中的另一个函数.我做错了什么?

得到了一些我正在研究的C代码,它看起来应该可行.当我尝试链接目标文件时,我在main中的getLine函数中得到一个错误,说"对outputBus的未定义引用"等等.我在功能名称之前使用和不使用&符号尝试过它.用...编译gcc -ansi.我究竟做错了什么?

typedef void(*DualOutput)(const int, const int);
typedef void(*TripleOutput)(const int, const int, const double);

void   passenger(node**, node**, itemtype*);
double bus(node**, node**, itemtype*);
int    getLine(itemtype*, DualOutput, DualOutput);
void   getLines(node**, node**, DualOutput, DualOutput, TripleOutput);
void   outputBus(const int, const int);
void   outputPeople(const int, const int);
void   outputTotal(const int, const int, const double);

int main(int argc, char **argv){
  node *head = NULL;
  node *tail = NULL;

  getLines(&head, &tail, outputBus, outputPeople, outputTotal);
  return 0;
} 
Run Code Online (Sandbox Code Playgroud)

c

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