这主要是一个表现问题.我有一个String数组AllUids中存在的所有用户的主列表.我还有一个String数组EndUids中存在的所有最终用户的列表.
我在Java工作,我的目标是从主列表AllUids中删除最终日期数组中存在的任何用户.我知道PHP有一个名为array_diff的函数.
我很好奇Java是否有任何可以比较两个数组并删除两者相似的元素.我的目标是这里的表现,这就是我询问内置功能的原因.我不想添加任何特殊包.
我想过写一个递归函数,但看起来效率很低.两个列表中都有数千个用户.要存在于结束日期列表中,您必须存在于AllUids列表中,直到被删除.
例:
String[] AllUids = {"Joe", "Tom", "Dan", "Bill", "Hector", "Ron"};
String[] EndUids = {"Dan", "Hector", "Ron"};
Run Code Online (Sandbox Code Playgroud)
我正在寻找的功能:
String[] ActiveUids = AllUids.RemoveSimilar(EndUids);
Run Code Online (Sandbox Code Playgroud)
ActiveUids看起来像这样:
{"Joe", "Tom", "Bill"}
Run Code Online (Sandbox Code Playgroud)
谢谢大家,显然我可以提出循环等但我不相信它会有效率.这是每天在生产机器上运行的东西.
好的,这是我的问题.我必须这样做HashSet
,我使用该removeAll
方法删除一个集合中存在的值.
在调用方法之前,我显然将值添加到Set
s中.我在添加之前调用.toUpperCase()
每个String
,因为两个列表中的值都是不同的情况.这个案子没有押韵或理由.
一旦我打电话removeAll
,我需要将原始案例返回给剩下的值Set
.有没有一种有效的方法可以在不运行原始列表和使用的情况下执行此操作CompareToIgnoreCase
?
例:
列表1:
"BOB"
"Joe"
"john"
"MARK"
"dave"
"Bill"
Run Code Online (Sandbox Code Playgroud)
列表2:
"JOE"
"MARK"
"DAVE"
Run Code Online (Sandbox Code Playgroud)
在此之后,HashSet
使用toUpperCase()
on 为每个List 创建一个单独String
的.然后打电话removeAll
.
Set1.removeAll(set2);
Set1:
"BOB"
"JOHN"
"BILL"
Run Code Online (Sandbox Code Playgroud)
我需要让列表再次看起来像这样:
"BOB"
"john"
"Bill"
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激.我知道它很差,应该有原始列表的标准,但这不是我要决定的.
我有一个Gridview绑定到我创建的数据表.表中的数据不断变化.
我在Gridview中添加了一个buttonfield.单击时,我想通过链接在该行中发送特定列值或通过函数发送.
你是怎么做的?
我希望将一个图片jpeg,gif等文件上传到updateprofilepicture页面上的SQL数据库中.然后在配置文件页面上,我想从sql数据库中检索图像并将其显示在Asp:Image控件中.我有很多代码尝试这样做,但它不起作用.该表包含Image类型的列.
我知道这将非常简单.我在asp.net中看到了很多不同的方法,没有真正的标准.我想知道的是如何从asp.net中的sql数据库中干净地选择并检索多个记录.例如:选择所有用户ID.
String sql =
"SELECT [UserId] FROM [UserProfiles] WHERE NOT [UserId] = 'CurrentUserId'";
string strCon = System.Web
.Configuration
.WebConfigurationManager
.ConnectionStrings["SocialSiteConnectionString"]
.ConnectionString;
SqlConnection conn = new SqlConnection(strCon);
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
/*
This is where I need to know how to retrieve the information from the
above command(comm). I am looking for something similiar to php's
mysql_result. I want to access the records kind of like an array or some
other form of retrieving all the data.
Also …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用datalist制作缩略图网格.我有一个imageurls数组,我想在后面的代码中绑定它们.我该怎么做呢?我希望datalist的最大列大小为5,并添加缩略图行直到完成.
<asp:DataList ID="dlImages" runat="server"
RepeatColumns="5"
RepeatDirection="Horizontal"
RepeatLayout="Flow">
<ItemTemplate>
<asp:Image ID="imgStore" runat="server" />
</ItemTemplate>
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
protected void BindImages(string[] imageurls)
{
for (int i = 0; i < imageurls.Length; i++)
{
.
.
.
}
}
Run Code Online (Sandbox Code Playgroud) 如果我在一个页面中有一个按钮,例如"main.aspx".单击后,我希望"main.aspx.cs"中单击的方法从不同的*.aspx.cs页面调用函数,但也可以重定向到*.aspx页面......这可能吗?
下面的代码非常适合绑定从网上抓取的实际网址.我的问题是它不适用于生成图像的*.aspx网址.如果我转到*.aspx页面"〜/ UserPages/Photo/GetThumbnail.aspx?id = 7",图像显示就好了.但是它不适用于datalist.任何想法为什么以及如何解决这个问题.谢谢!字符串数组'imageurls'由许多*.aspx图像网址组成.
<asp:DataList ID="dlImages" runat="server"
RepeatColumns="5"
RepeatDirection="Horizontal"
RepeatLayout="Flow">
<ItemTemplate>
<img src="<%# (string)Container.DataItem %>" />
</ItemTemplate>
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)
代码背后
protected void BindImages(string[] imageurls)
{
dlImages.DataSource = imageurls;
dlImages.DataBind();
}
Run Code Online (Sandbox Code Playgroud)